找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1806|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-14 05:33:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            前言
大家可能没有注意到, 在 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有所帮助。
            
            
您可能感兴趣的文章:
  • Laravel框架路由配置总结、设置技巧大全
  • 跟我学Laravel之路由
  • Laravel 4 初级教程之视图、命名空间、路由
  • ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
  • Laravel 5框架学习之路由、控制器和视图简介
  • Laravel路由设定和子路由设定实例分析
  • Laravel最佳分割路由文件(routes.php)的方式
  • laravel中命名路由的使用方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端