Laravel5.1框架路由分组用法实例分析


Posted in PHP onJanuary 04, 2020

本文实例讲述了Laravel5.1框架路由分组用法。分享给大家供大家参考,具体如下:

路由分组有啥好处?

有时候啊 一大堆路由它们都有共同的地方,比如都使用一个中间件(过两天写)或是前缀都一样,避免代码重复 我们可以将他们分到一组中。

1 路由分组可以共享哪些属性?

  • 中间件 middleware。
  • 控制器的命名空间 namespace。
  • 子域名 domain
  • 路由前缀

1.1 中间件

关于中间件大K还没有写笔记介绍,这里先简单说下 中间件就是接收到请求后验证一些东西或相应后验证一些东西,比如Laravel自带的Auth中间件 就是验证用户有没有登录进来,如果用户没用登录,那么就会自动跳转到登录页面,我们完全不用实现这一方面的逻辑。

好啦 回归正题,咱一块儿看看路由分组咋写:

/**
 * 这就是一个路由分组 /user和/user/profile都将使用auth中间件。
 */
Route::group(['middleware' => 'auth'], function (){
  Route::get('/user', function (){
  });
  Route::get('/user/profile', function (){
  });
});

1.2 路由前缀

/**
 * 路由前缀呢 就是讲此分组中的所有路由路径前加个前缀
 */
Route::group(['prefix' => 'admin'], function (){
  /**
   * 路由分组是可以嵌套的哦
   */
  Route::group(['middleware' => 'auth'], function (){
    /**
     * 这条路由不仅使用auth中间件,而且还加了admin前缀,我们通过/admin/user才能访问
     */
    Route::get('/user', function (){
    });
    Route::get('/user/profile', function (){
    });
  });
  /**
   * 访问路径是:/admin
   */
  Route::get('/', function (){
  });;
});

1.3 子域名

/**
 * 比如我们可以输入larger来访问路由,在子路由中可以通过参数来把larger取到。
 */
Route::group(['domain' => '{account}.myapp.com'], function () {
  Route::get('user/{id}', function ($account, $id) {
    //
  });
});

注意:如果想测试子域名你需要使用homestand来设置你的域名。

1.4 命名空间

这又是一个没写的点 这里包含控制器的内容,先看例子吧 明天就学控制器了 倒时候做笔记。

/**
 * 只要指明了命名空间,那么在子路由中所使用的所有控制器都位于App\Http\Controller\Admin这个命名空间下。
 */
Route::group(['namespace' => 'Admin', 'prefix' => 'admin'], function(){
  /**
   * 其实HomeController在App\Http\Controller\Admin这个命名空间下。
   */
  Route::get('/', 'HomeController@index');
});

1.5 分组命名

补充一点,前一篇的基础文章我们学了给路由命名,那么分组可不可以命名呢,Yo Man。。当然可以:

/**
 * 跟普通路由一样 也是用as来命名但是首字母最好大写后面跟俩冒号 代表它是一个分组 如果这样写 我们就可以通过 route('Admin::index')方式来找到它了
 */
Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'as' => 'Admin::'], function(){
  Route::get('/', ['as' => 'index','uses' => 'HomeController@index']);
});

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

PHP 相关文章推荐
discuz Passport 通行证 整合笔记
Jun 30 PHP
PHP 字符串 小常识
Jun 05 PHP
PHP IPV6正则表达式验证代码
Feb 16 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
Nov 10 PHP
PHP使用数组实现队列
Feb 05 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
Linux下手动编译安装PHP扩展的例子分享
Jul 15 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
图文介绍PHP添加Redis模块及连接
Jul 28 PHP
php+ajax实现无刷新的新闻留言系统
Dec 21 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
在laravel中实现ORM模型使用第二个数据库设置
Oct 24 PHP
Laravel5.1 框架路由基础详解
Jan 04 #PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 #PHP
PHP+MySQL实现在线测试答题实例
Jan 02 #PHP
PHP CURL实现模拟登陆并上传文件操作示例
Jan 02 #PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 #PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 #PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 #PHP
You might like
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
深入apache host的配置详解
2013/06/09 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
2015/11/06 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
python调用OpenCV实现人脸识别功能
2018/05/25 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
Python configparser模块常用方法解析
2020/05/22 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
精灵市场:Pixie Market
2019/06/18 全球购物
毕业生求职简历的自我评价
2013/10/23 职场文书
门卫岗位职责
2013/11/15 职场文书
生产车间主管岗位职责
2013/12/28 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
高考学习决心书
2015/02/04 职场文书
好好学习保证书
2015/02/26 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
Redis 限流器
2022/05/15 Redis
MySQL数据库简介与基本操作
2022/05/30 MySQL