说明
此文章是 [Laravel 5.3 新功能] 系列的第九篇文章,路由相关修改。
[Laravel 5.3 新功能] 系列完整文章列表请见:https://phphub.org/topics/2638
回顾 5.2 路由的修改
在 Laravel 5.2 的 routes.php 文件中,我们可以看到路由被分割成两个路由群组:web 和 api。
web 路由组提供了普通 web 应具有的所有功能:如 session、cookie、CSRF 等等。而 api 路由组更加轻量化,只提供了 throttle 中间件,以便提供无状态的 REST API。
5.3 路由的修改
在 5.3 中,
app/Http/routes.php
文件被移到了 routes 目录下,并且被分割成两个文件:web.php和 api.php。你可能已经猜到了,web.php 中的路由应用了 web 中间件组,而 api.php 中的路由应用了api 中间件组。
这样做有很多好处:
- 我们实现了 web 路由和 api 路由的分离;
- 可以在应用级层面设置多个路由文件;
- 将 routes 移出 app 目录,对新手而言,可以更快访问到 routes 目录,并且让 app 目录完全成为PSR-4 自动加载的目录。
如果你想要自定义自己的独立路由文件,可参考
App\Providers\RouteServiceProvider
文件:...
public function map()
{
$this->mapWebRoutes();
$this->mapApiRoutes();
//
}
protected function mapWebRoutes()
{
Route::group([
'namespace' => $this->namespace, 'middleware' => 'web',
], function ($router) {
require base_path('routes/web.php');
});
}
protected function mapApiRoutes()
{
Route::group([
'middleware' => ['api', 'auth:api'],
'namespace' => $this->namespace,
'prefix' => 'api',
], function ($router) {
require base_path('routes/api.php');
});
}
这样就可以非常简单的创建自己的路由文件了。
全文完。
链接
- 来自:https://mattstauffer.co/blog/routing-changes-in-laravel-5-3
- 路由群组:http://laravel-china.org/docs/5.1/routing#路由群组
reference : https://phphub.org/topics/2672
沒有留言:
張貼留言