修改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
获取思路:
... 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'); }); }
总结
很简单吧,参照这段代码应该可以很轻松创建自己独立的路由文件。以上就是修改laravel5.3中路由文件及路径的全部内容,希望本文对大家学习laravel5.3有所帮助。
上一篇: java字符串压缩解压示例
推荐阅读
-
网络编程中客户端程序与服务器端程序相互转换时的配置文件修改
-
解决Django中修改js css文件但浏览器无法及时与之改变的问题
-
Linux系统中修改与查看文件属性的基本方法
-
分割文件全路径中的目录与文件名(C语言,windows内核)
-
在类中取得当前文件所在的相对路径与绝对路径 Office.netCC++C#
-
python中关于文件名与文件路径操作的实例
-
Python os模块获取路径中的路径、文件名与扩展名,或者获取http链接的路径、文件名与扩展名
-
Eclipse与IDEA中如何正确的放置需要读取的文件来成功使用相对路径(java)
-
python中关于文件名与文件路径操作的实例
-
yii2框架高级模板中,如何接收post发送的图片文件,并存与某个路径下?