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
Nov 25 PHP
PHP面向接口编程 耦合设计模式 简单范例
Mar 23 PHP
php URL跳转代码 减少外链
Jun 25 PHP
php中的注释、变量、数组、常量、函数应用介绍
Nov 16 PHP
解析php中call_user_func_array的作用
Jun 07 PHP
浅析php学习的路线图
Jul 10 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 PHP
php对象和数组相互转换的方法
May 12 PHP
php打包网站并在线压缩为zip
Feb 13 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
php 函数中静态变量使用的问题实例分析
Mar 05 #PHP
php多进程中的阻塞与非阻塞操作实例分析
Mar 04 #PHP
You might like
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
vuejs点击class变化的实例
2018/09/05 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
微信小程序云函数使用mysql数据库过程详解
2019/08/07 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
详解Python的Lambda函数与排序
2016/10/25 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
巴西女装购物网站:Eclectic
2018/04/24 全球购物
德国网上宠物店:Zoobio
2018/05/23 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
英语专业个人求职自荐信
2013/09/21 职场文书
小学语文业务学习材料
2014/06/02 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
安全生产工作汇报
2014/10/28 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏