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 相关文章推荐
PHP UTF8编码内的繁简转换类
Jul 20 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
php无限极分类实现的两种解决方法
Apr 28 PHP
简单的cookie计数器实现源码
Jun 07 PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
PHP信号量基本用法实例详解
Feb 12 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
利用switch语句进行多选一判断的实例代码
Nov 14 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
Nov 09 PHP
基于php解决json_encode中文UNICODE转码问题
Nov 10 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
谈一谈收音机的高放电路
2021/03/02 无线电
PHP常用的缓存技术汇总
2014/05/05 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
PHP生成图像验证码的方法小结(2种方法)
2016/07/18 PHP
DIV菜单层实现代码
2010/11/19 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
2016/06/22 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
Vue 打包体积优化方案小结
2020/05/20 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
python 提取文件的小程序
2009/07/29 Python
Python文件的读写和异常代码示例
2017/10/31 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
实例讲解python中的序列化知识点
2018/10/08 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
python爬虫如何解决图片验证码
2021/02/14 Python
努比亚手机官网:nubia
2016/10/06 全球购物
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
电厂职工自我鉴定
2014/02/20 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
2014年加油站工作总结
2014/12/04 职场文书
公司财务部岗位职责
2015/04/14 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis