2016年9月1日 星期四

[Laravel 5.3 新功能] 9. 路由相关修改

说明

此文章是 [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 中间件组。
这样做有很多好处:
  1. 我们实现了 web 路由和 api 路由的分离;
  2. 可以在应用级层面设置多个路由文件;
  3. 将 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');
        });
    }
这样就可以非常简单的创建自己的路由文件了。
全文完。

链接


reference : https://phphub.org/topics/2672

沒有留言:

wibiya widget