带视图和控制器的 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
的结果。