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


Posted in PHP onAugust 10, 2016

前言

大家可能没有注意到, 在 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有所帮助。

PHP 相关文章推荐
使用php来实现网络服务
Sep 15 PHP
PHP中基本符号及使用方法
Mar 23 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
PHP中使用CURL模拟登录并获取数据实例
Jul 01 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
Jun 10 PHP
Linux安装配置php环境的方法
Jan 14 PHP
thinkphp框架下404页面设置 仅三步
May 14 PHP
Yii视图CGridView列表用法实例分析
Jul 12 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 11 PHP
Yii2中关联查询简单用法示例
Aug 10 #PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 #PHP
Yii2实现同时搜索多个字段的方法
Aug 10 #PHP
Yii2实现上下联动下拉框功能的方法
Aug 10 #PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 #PHP
教你在header中隐藏php的版本信息
Aug 10 #PHP
PHP通过加锁实现并发情况下抢码功能
Aug 10 #PHP
You might like
php中用文本文件做数据库的实现方法
2008/03/27 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
JavaScript prototype属性使用说明
2010/05/13 Javascript
js/jQuery简单实现选项卡功能
2014/01/02 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
基于python 处理中文路径的终极解决方法
2018/04/12 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
python 制作本地应用搜索工具
2021/02/27 Python
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
大学生最常用的自我评价
2013/12/07 职场文书
顶岗实习接收函
2014/01/09 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
电话客服工作职责
2014/07/27 职场文书
争先创优个人总结
2015/03/04 职场文书
原告代理词范文
2015/05/25 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers