当前位置:网站首页>Laravel5.1 路由 -路由分组
Laravel5.1 路由 -路由分组
2022-07-07 14:06:00 【全栈程序员站长】
路由分组有啥好处?
有时候啊 一大堆路由它们都有共同的地方,比如都使用一个中间件(过两天写)或是前缀都一样,避免代码重复 我们可以将他们分到一组中。
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('/', '[email protected]'); });1.5 分组命名
补充一点,前一篇的基础文章我们学了给路由命名,那么分组可不可以命名呢,Yo Man。。当然可以:
/** * 跟普通路由一样 也是用as来命名但是首字母最好大写后面跟俩冒号 代表它是一个分组 如果这样写 我们就可以通过 route('Admin::index')方式来找到它了 */ Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'as' => 'Admin::'], function(){ Route::get('/', ['as' => 'index','uses' => '[email protected]']); });发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113173.html原文链接:https://javaforall.cn
边栏推荐
- How does geojson data merge the boundaries of regions?
- 修改配置文件后tidb无法启动
- Enterprise log analysis system elk
- 持续创作,还得靠它!
- 应用程序和matlab的通信方式
- Three. JS introductory learning notes 05: external model import -c4d into JSON file for web pages
- Three. JS introductory learning notes 04: external model import - no material obj model
- TCP framework___ Unity
- laravel 是怎么做到运行 composer dump-autoload 不清空 classmap 映射关系的呢?
- SPI master rx time out中断
猜你喜欢

The unity vector rotates at a point

Continuous creation depends on it!

numpy---基础学习笔记

Vite path alias @ configuration

Xingruige database was shortlisted as the "typical solution for information technology application and innovation in Fujian Province in 2021"

Three. JS introductory learning notes 18: how to export JSON files with Blender

Good news! Kelan sundb database and Hongshu technology privacy data protection management software complete compatibility adaptation

Postman generate timestamp, future timestamp

95.(cesium篇)cesium动态单体化-3D建筑物(楼栋)

numpy--疫情数据分析案例
随机推荐
Communication mode between application program and MATLAB
深度之眼(七)——矩阵的初等变换(附:数模一些模型的解释)
121. 买卖股票的最佳时机
模仿企业微信会议室选择
TS typescript type declaration special declaration field number is handled when the key key
融云斩获 2022 中国信创数字化办公门户卓越产品奖!
numpy--疫情数据分析案例
应用程序和matlab的通信方式
How to implement backspace in shell
Apache Doris刚“毕业”:为什么应关注这种SQL数据仓库?
AE learning 02: timeline
prometheus api删除某个指定job的所有数据
UE4 exports the picture + text combination diagram through ucanvasrendertarget2d
Unity的三种单例模式(饿汉,懒汉,MonoBehaviour)
喜讯!科蓝SUNDB数据库与鸿数科技隐私数据保护管理软件完成兼容性适配
TCP framework___ Unity
You Yuxi, coming!
Limit of total fields [1000] in index has been exceeded
Three singleton modes of unity (hungry man, lazy man, monobehavior)
After UE4 is packaged, mesh has no material problem