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 相关文章推荐
第八节 访问方式 [8]
Oct 09 PHP
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 PHP
php开发工具之vs2005图解
Jan 12 PHP
Mysql的GROUP_CONCAT()函数使用方法
Mar 28 PHP
php 前一天或后一天的日期
Jun 28 PHP
使用PHP接收POST数据,解析json数据
Jun 28 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 PHP
php实现猴子选大王问题算法实例
Apr 20 PHP
php parse_str() 函数的定义和用法
May 23 PHP
总结对比php中的多种序列化
Aug 28 PHP
PHP session会话操作技巧小结
Sep 27 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 04 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
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
jquery ajax执行后台方法
2010/03/18 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
js中的this关键字详解
2013/09/25 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
Javascript中3种实现继承的方法和代码实例
2014/08/12 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
js module大战
2019/04/19 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
python 第三方库的安装及pip的使用详解
2017/05/11 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
Python使用numpy模块创建数组操作示例
2018/06/20 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
New Balance波兰官方商城:始于1906年,百年慢跑品牌
2017/08/15 全球购物
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
公司业务员岗位职责
2014/03/18 职场文书
师德师风演讲稿
2014/05/05 职场文书
批评与自我批评总结
2014/10/17 职场文书
自荐信格式模板
2015/03/27 职场文书
作息时间调整通知
2015/04/22 职场文书
民事答辩状范本
2015/05/21 职场文书
学校团代会开幕词
2016/03/04 职场文书