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和网页显示乱码解决方法集锦
Mar 27 PHP
php 网页游戏开发入门教程一(webgame+design)
Oct 26 PHP
php的ajax框架xajax入门与试用介绍
Dec 19 PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 PHP
yii2缓存Caching基本用法示例
Jul 18 PHP
php微信开发之带参数二维码的使用
Aug 03 PHP
php操纵mysqli数据库的实现方法
Sep 18 PHP
详解php语言最牛掰的Laravel框架
Nov 20 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
thinkPHP3.2.2框架行为扩展及demo示例
Jun 19 PHP
基于Laravel 5.2 regex验证的正确写法
Sep 29 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 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
MYSQL 小技巧 -- LAST_INSERT_ID
2009/11/24 PHP
php checkbox 取值详细说明
2010/08/19 PHP
PHP可变函数的使用详解
2013/06/14 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
js实现无刷新监听URL的变化示例代码详解
2020/06/03 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
Python中关于Sequence切片的下标问题详解
2017/06/15 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
Python3读取和写入excel表格数据的示例代码
2020/06/09 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
Django多数据库联用实现方法解析
2020/11/12 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
2020/11/17 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
携程英文网站:Trip.com
2017/02/07 全球购物
家长会主持词开场白
2014/03/18 职场文书
个人债务授权委托书
2014/10/17 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书