手机版

Laravel分割路由文件的最佳方式(routes.php)

时间:2021-09-08 来源:互联网 编辑:宝哥软件园 浏览:

Laravel的路由功能非常强大,默认是在routes.php文件中定义的。随着项目越来越大,我们需要定义越来越多的路线。试想一下,如果一个文件中定义了几十万条路由,如何维护?也许有不同的人在同一个文件中定义路由,这导致了冲突,所以我们需要拆分routes.php文件。

这里有一个非常优雅的方式。

app/providers/routeserviceprovider . PHP的映射方法可以定义如下:

公共函数映射(Router $ Router){ $ Router-group([' namespace '=$ this-namespace],函数($ Router){//需要app _ path(' Http/routes . PHP ');foreach(glob)(app _ path(' Http//Routes ')。'/*.作为$ file){ $ this-App-make(' App \ \ Http \ \ Roads \ \ ')。basename($file,'。PHP ')-map($ router);} });}文档组织结构图如下:

这样它会遍历app/Http/Roads/文件夹中的文件,遍历每个文件路由类的映射方法,每个文件的结构都是相似的。

例如:

?php/** *由PhpStorm创建。* user : XL * date : 2016/7/4 * time : 18:07 */namespace App \ Http \ Routes;使用照明\合同\路由\注册商;class HomeRoutes { public function map(Registrar $ router){ $ router-group([' domain '=' www . tanteng . me ','中间件'='web'],function($ router){ $ router-auth();$router-get('/',['as'='home ',' uses '='[email protected]']);$router-get('/blog ',['as'='index.blog ',' uses '='[email protected]']);$router-get('/resume ',['as'='index.resume ',' uses '='[email protected]']);$router-get('/post ',['name'='post.show ',' uses '='[email protected]']);$router-get('/contact ',['as'='index.contact ',' uses '='[email protected]']);$router-post('/contact/comment ',[' uses '='[email protected]']);$router-get('/travel ',['as'='index.travel ',' uses '='[email protected]']);$router-get('/travel/latest ',['as'='travel.latest ',' uses '='[email protected]']);$ router-get('/travel/{ destination }/list ',['as'='travel.destination ',' use '='[email protected]']);$router-get('/travel/{slug} ',[' use '='[email protected]']);$router-get('/sitemap.xml ',['as'='index.sitemap ',' uses '='[email protected]']);});}}将路由规则写入每个文件的map方法中,从而实现对routes.php文件的良好单独管理。此外,您可以简单地将routes.php中的定义拆分成几个文件,并以require的方式进行介绍,但一目了然哪个更好。

那么,如果用这个路由分隔多个文件,会不会增加调用次数,影响性能?答案是不要担心。通过Laravel命令:

php artisan route:cache生成route cache文件后,route只会读取cache文件的路由规则,不会影响性能,使得开发更加高效和规范。

好了,以上就是Laravel路由文件(routes.php)的最佳分割方法。希望对大家学习Laravel有帮助。也希望大家多多支持我们。

版权声明:Laravel分割路由文件的最佳方式(routes.php)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。