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 相关文章推荐
MySQL数据源表结构图示
Jun 05 PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 PHP
学习php分页代码实例
Oct 24 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
php实现遍历目录并删除指定文件中指定内容
Jan 21 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
Sep 25 PHP
基于php编程规范(详解)
Aug 17 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
PHP预定义接口――Iterator用法示例
Jun 05 PHP
如何用Laravel包含你自己的帮助函数
May 27 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
PHP高级OOP技术演示
2009/08/27 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
2013/11/22 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
python 从远程服务器下载东西的代码
2013/02/10 Python
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
python中关于for循环的碎碎念
2017/06/30 Python
将python代码和注释分离的方法
2018/04/21 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
生态学毕业生自荐信
2013/10/27 职场文书
党员自我批评与反省材料
2014/02/10 职场文书
租房协议书
2014/04/10 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
六五普法心得体会2016
2016/01/21 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
Python基于百度API识别并提取图片中文字
2021/06/27 Python
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL