微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

修改Laravel5.3中的路由文件与路径

前言

大家可能没有注意到,在 Laravel 4 以及更老版本中,路由逻辑是性能上的一个瓶颈--特别是对于有很多路由定义的应用而言. 一个只有几百条路由定义的 Laravel 站点,框架光注册路由就需要半秒多的时间. 不过以后不用担心这个问题了,因为 Laravel 5 引入了 路由缓存(route caching),可以大大优化路由的性能(闭包方式定义的路由不能缓存,所以该把所有的闭包路由定义都移到控制器中了).

1、回顾Laravel 5.2中路由的修改

在 Laravel 5.2 的routes.PHP中我们可以看到路由被分割成两个路由群组:web和api,这样做的原因是基于中间件群组的理念:开箱即可拥有web和api两组路由。

web路由组提供了普通web用户所需的所有功能特性:如session、cookie、CSRF防护等等,相比之下,api路由组更加轻量级,只提供了throttle中间件,以便提供无状态的REST API。

2、Laravel 5.3 中路由的修改

在Laravel 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获取思路:

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');
});
}

总结

很简单吧,参照这段代码应该可以很轻松创建自己独立的路由文件。以上就是修改Laravel5.3中路由文件及路径的全部内容,希望本文对大家学习Laravel5.3有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。