带视图和控制器的 Hello World 示例

假设我们有一个正在运行的 laravel 应用程序,例如“mylaravel.com”,我们希望我们的应用程序在点击 URL http://mylaravel.com/helloworld 时显示 Hello World 消息。它涉及创建两个文件(视图和控制器)以及修改现有文件(路由器)。

风景

首先,我们打开一个名为 helloview.blade.php 的新刀片视图文件,其中包含 Hello World 字符串。在 app / resources / views 目录中创建它

<h1>Hello, World</h1>

控制器

现在我们创建一个控制器,用 Hello World 字符串管理该视图的显示。我们将在命令行中使用工匠。

$> cd your_laravel_project_root_directory
$> php artisan make:controller HelloController 

这将只创建一个文件(app/Http/Controllers/HelloController.php),其中包含我们新控制器 HelloController 的类。

编辑该新文件并编写一个新方法 hello,它将显示我们之前创建的视图。

public function hello()
{
    return view('helloview'); 
}

视图函数中的’helloview’参数只是视图文件的名称,没有尾随的“.blade.php”。Laravel 会知道如何找到它。

现在,当我们调用控制器 HelloController 的方法 hello 时,它将显示消息。但是我们如何将其与 http://mylaravel.com/helloworld 的呼叫联系起来呢?随着最后一步,路由。

路由器

打开现有文件 app/routes/web.php(在较旧的 laravel 版本 app/Http/routes.php 中)并添加以下行:

Route::get('/helloworld', 'HelloController@hello');

这是一个非常自我解释的命令,对我们的 laravel 应用程序说:“当有人在这个 laravel 应用程序中使用 GET 动词访问’/ helloworld’时,返回在 HelloController 控制器中调用函数 hello 的结果。