Laravel5.1 路由 -路由分组

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来设置你的域名。注意:如果想测试子域名你需要使用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']); });
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113173.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月23日 上午9:00
下一篇 2021年10月23日 上午9:00


相关推荐

  • KafkaSpout 浅析

    KafkaSpout 浅析最近在使用 storm 做一个实时计算的项目 Spout 需要从 KAFKA 集群中读取数据 为了提高开发效率 直接使用了 Storm 提供的 KAFKA 插件 今天抽空看了一下 KafkaSpout 的源码 记录下心得体会 nbsp nbsp nbsp nbsp KafkaSpout 基于 kafka javaapi consumer SimpleConsum 实现了 consumer 客户端的功能 包括 partition 的分配 消费

    2026年3月18日
    2
  • hibernate之二级缓存「建议收藏」

    hibernate之二级缓存「建议收藏」hibernate之二级缓存缓存的作用:通过缓存,可以减少与数据库的交互,提高数据库访问性能。即把需要的数据存储起来,不需要每次都请求,主要目地减少服务器压力。Hibernate缓存一般分三类:一级缓存(Session对象):Hibernate的内置缓存,必需的,默认启动,不能被卸载。由于Session对象的生命周期通常对应一个数据库事务,因此它的缓存是事务范围的缓存。在一级缓存中,持…

    2022年5月24日
    40
  • pycharm激活成功教程补丁激活

    pycharm激活成功教程补丁激活把 nbsp JetbrainsCra 2 7 release str jar 请自行百度下载 复制到安装目录 如 D ProgramFiles PyCharm2018 1 2 在 Pycharm 安装目录的 bin 目录下找到 nbsp pycharm exe vmoptions nbsp 和 nbsp pycharm64 exe vmoptions 两个文件 以文本格式打开并同时在两个文件最后追加如下内容 保存

    2026年3月27日
    1
  • ​Anthropic 推出 Claude 插件更新,打通 Excel 与 PowerPoint 跨应用工作流

    ​Anthropic 推出 Claude 插件更新,打通 Excel 与 PowerPoint 跨应用工作流

    2026年3月13日
    2
  • forEach 跳出本次循环 (break不能使用)

    forEach 跳出本次循环 (break不能使用)可以用 try catch 的方法跳出本次循环

    2026年3月19日
    2
  • Polar码(1)— 基础理论

    Polar码(1)— 基础理论Polar 码的背景极化 Polar 码是由土耳其的 E Arikan 于 2008 年基于信道极化现象而提出的一类线性分组码 是首个可理论证明能达到任意二进制输入离散无记忆对称信道容量的信道编码 并且具有较低的编译码复杂度和确定性的构造而备受关注

    2026年3月18日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号