Laravel教程三 路由、控制器及视图简介

Laravel应用的 大多数路由都将在 app/Http/routes.php 中定义,大多数基本的 Laravel 路由都只接受一个 URI 和 一个 闭包(Closure) 参数。下面是一个简单的GET路由:

Route::get('/', 'WelcomeController@index');
  • Route: 声明一个路由;
  • get:即定义一个GET路由,除get外,还有post、put、delete路由;
  • /:即指向网站
  • WelcomeController@index:前面为控制器,后面是调用控制器中的方法

该路由是用户访问根目录 / 时,执行控制器WelcomeController中的index方法。

上面路由调用控制器app/Http/Controllers/WelcomeController.php中的index()方法:

public function index()
{
    return view('welcome');
}

该方法返回了一个welcome视图,该视图即为resources/views/welcome.blade.php。也可以直接在方法中返回指定的内容,如修改index()方法:

public function index()
{
    return 'Hello World';
    // return view('welcome');
}

刷新浏览器,会看到页面输出内容已经改变。

Laravel教程三 路由、控制器及视图简介

下面新建一个contact路由,在路由中增加下面的代码:

Route::get('/contact', 'WelcomeController@contact');

contact前面的 / 可以省略不写。该路由会调用WelcomeController控制器下面的contact()方法,因此在WelcomeController控制器中添加下面的方法:

public function contact() {
    return 'Contact me';
}

之后访问http://laravel.dev/contact,将得到下面的结果:

Laravel教程三 路由、控制器及视图简介

方法中除了可以返回字符串,也能返回json数据(API开发)或html视图文件等。Laravel默认的视图文件位于resources/views目录下。如果需要为视图文件指定子目录,则用下面的方法调用:return view('pages/contact');,也可以更加简单的用这种方法:return view('pages.contact');。

假如把上面的contact()方法中的内容改成return view('pages.contact');,那么我们需要在resources/views下创建一个pages文件夹,之后在pages文件夹中创建contact.blade.php文件,在文件中添加下面的内容,该文件的内容即为contact()的返回结果。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<h1>Contact me</h1>
</body>
</html>

现在再次刷新浏览器就可以查看结果。

Laravel教程三 路由、控制器及视图简介:等您坐沙发呢!

发表评论

表情
还能输入210个字