laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析


Posted in PHP onFebruary 18, 2020

本文实例讲述了laravel框架路由分组,中间件,命名空间,子域名,路由前缀。分享给大家供大家参考,具体如下:

laravel的路由分组,就是把一些具有相同特征的路由进行分组,比如一些路由需要进行验证,一些路由有共同的前缀,一些路由有相同的控制器命名空间等。

这样把路由组合在一起,方便管理,维护性更好。

Route::group([], function () {
  Route::get('user/list', function () {});
  Route::get('user/info', function () {});
});

上面的代码把两个路由归为一组,但并没有应用任何相同特征,这样的意义并不大。

一、中间件

为一组路由设置相同的中间件,可设置多个中间件,执行顺序依数组中的顺序来运行。

Route::middleware(['auth'])->group(function () {
  //使用auth中间件
  Route::get('user/list', function () {});
  //使用auth中间件
  Route::get('user/info', function () {});
});

二、路由前缀

有些路由有共同的前缀,我们可以为这些路由设置一个共同的前缀。

Route::prefix('user')->group(function () {
  //处理/user/list
  Route::get('list', function () {});
  //处理/user/info
  Route::get('info', function () {});
});

三、路由名称前缀

为路由设置名称时,我们想为同组下的路由名称都加上相同的名称前缀。

Route::name('user.')->prefix('user')->group(function () {
  //处理/user/list,并命名为user.list
  Route::get('list', function () {})->name('list');
  //处理/user/info,并命名为user.info
  Route::get('info', function () {})->name('info');
});

四、子域名

针对有多商家的场景,某些家商有自已独立的子域名,这时候我们需要针对子域名来进行路由分组。

Route::domain('{shop}.tmall.com')->group(function () {
  //处理xxx.tmall.com/orders/xxx
  //$shop参数始终是分组路由的第一个参数
  Route::get('orders/{id}', function ($shop, $id) {
  });
  //处理xxx.tmall.com/products/xxx
  //$shop参数始终是分组路由的第一个参数
  Route::get('products/{id}', function ($shop, $id) {
  });
});

五、命名空间

当我们绑定路由到控制器方法时,如果没有显示指定控制器的命名空间,默认为 App\Http\Controllers。

如果分组路由需要绑定位于该命名空间下的子命名空间,如:App\Http\Controllers\Orders。则可为该分组路由设置一个命名空间。

Route::namespace('Orders')->prefix('orders')->group(function () {
  //处理/orders/delete
  //并绑定到App\Http\Controllers\Orders下的DeleteController控制器的index方法
  Route::post('delete', 'DeleteController@index');
  //处理/orders/add
  //并绑定到App\Http\Controllers\Orders下的AddController控制器的index方法
  Route::post('add', 'AddController@index');
});

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
Oct 15 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
laravel安装和配置教程
Oct 29 PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 PHP
基于PHP微信红包的算法探讨
Jul 21 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
PHP序列化操作方法分析
Sep 28 PHP
微信开发之php表单微信中自动提交两次问题解决办法
Jan 08 PHP
创建无限极分类树型结构的简单方法
Jun 20 PHP
PHP多个图片压缩成ZIP的方法
Aug 18 PHP
PHP中str_split()函数的用法讲解
Apr 11 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 #PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 #PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 #PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 #PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 #PHP
laravel框架使用极光推送消息操作示例
Feb 15 #PHP
laravel框架使用阿里云短信发送消息操作示例
Feb 15 #PHP
You might like
php中文本数据翻页(留言本翻页)
2006/10/09 PHP
php你的验证码安全码?
2007/01/02 PHP
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
基于php下载文件的详解
2013/06/02 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
分享php多功能图片处理类
2016/05/15 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
php链式操作的实现方式分析
2019/08/12 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
js 模拟气泡屏保效果代码
2010/07/10 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
2015/03/10 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
JavaScript原生数组Array常用方法
2017/04/06 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
JS简易计算器实例讲解
2020/06/30 Javascript
vue实现放大镜效果
2020/09/17 Javascript
[49:27]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第一场
2018/04/05 DOTA
Python函数式编程指南(二):从函数开始
2015/06/24 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
python3使用scrapy生成csv文件代码示例
2017/12/28 Python
Python使用logging模块实现打印log到指定文件的方法
2018/09/05 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
幼儿园英语教学反思
2014/01/30 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书