ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 第4节 路由 ~~~ git checkout -b route ~~~ ### 简介 Laravel 5.2 中路由的位置:`D:\wamp\www\newblog.com\app\Http\routes.php` ~~~ <?php /* |-------------------------------------------------------------------------- | Application Routes |-------------------------------------------------------------------------- | | Here is where you can register all of the routes for an application. | It's a breeze. Simply tell Laravel the URIs it should respond to | and give it the controller to call when that URI is requested. | */ Route::get('/', function () { return view('welcome'); }); Route::auth(); Route::get('/home', 'HomeController@index'); ~~~ 路由:<http://d.laravel-china.org/docs/5.2/routing> ### 4.1 基础路由 ~~~ Route::get('/', function () { return view('welcome'); }); ~~~ 最基本的 Laravel 路由仅接受 URI 和一个闭包。 上面自带的路由就是访问放在的根目录时,返回一个 `resources\views\welcome.blade.php` 视图文件。 ~~~ @extends('layouts.app') @section('content') <div class="container"> <div class="row"> <div class="col-md-10 col-md-offset-1"> <div class="panel panel-default"> <div class="panel-heading">Welcome</div> <div class="panel-body"> Your Application's Landing Page. </div> </div> </div> </div> </div> @endsection ~~~ 关于视图的内容,我们在后面的章节再详述吧! 是不是可以看到 “Your Application's Landing Page.”内容输出了? ![](https://box.kancloud.cn/71745a3e25b898258f0259ee208e515f_1046x414.png) 其实这种闭包路由使用的不多,我们使用的更多的是控制器路由。 ~~~ Route::get('/home', 'HomeController@index'); ~~~ 关于 `Route::auth();` 这条路由,其实是系统自定义好的。在:`D:\wamp\www\newblog.com\vendor\laravel\framework\src\Illuminate\Routing\Router.php` ~~~ public function auth() { // Authentication Routes... $this->get('login', 'Auth\AuthController@showLoginForm'); $this->post('login', 'Auth\AuthController@login'); $this->get('logout', 'Auth\AuthController@logout'); // Registration Routes... $this->get('register', 'Auth\AuthController@showRegistrationForm'); $this->post('register', 'Auth\AuthController@register'); // Password Reset Routes... $this->get('password/reset/{token?}', 'Auth\PasswordController@showResetForm'); $this->post('password/email', 'Auth\PasswordController@sendResetLinkEmail'); $this->post('password/reset', 'Auth\PasswordController@reset'); } ~~~ 看下:` $this->get('login', 'Auth\AuthController@showLoginForm');` 这条路由访问的页面效果: ![](https://box.kancloud.cn/2ee69b18a00b2b685118919c89de49a4_1046x541.png) 它实际上访问的是 `AuthController` 控制器的 `showLoginForm` 方法。 *\vendor\laravel\framework\src\Illuminate\Foundation\Auth\AuthenticatesUsers.php* ~~~ public function showLoginForm() { $view = property_exists($this, 'loginView') ? $this->loginView : 'auth.authenticate'; if (view()->exists($view)) { return view($view); } return view('auth.login'); } ~~~ 是不是可以感受到路由的强大之处?好了,这里先不要纠结,后面也就慢慢可以理解了。 关于更多的路由知识,大家可以借助手册进一步了解,如路由群组、路由别名等概念,这里就不做详述了! ### 4.2 使用 artisan 查看路由列表 命令: ~~~ php artisan route:list ~~~ ![](https://box.kancloud.cn/dffc23e371f032305c4783f1c21b957f_1366x485.png)