laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
发布:smiling 来源: PHP粉丝网 添加日期:2022-02-12 10:53:56 浏览: 评论:0
本文实例讲述了laravel框架路由分组,中间件,命名空间,子域名,路由前缀,分享给大家供大家参考,具体如下:
laravel的路由分组,就是把一些具有相同特征的路由进行分组,比如一些路由需要进行验证,一些路由有共同的前缀,一些路由有相同的控制器命名空间等。
这样把路由组合在一起,方便管理,维护性更好。
- Route::group([], function () {
- Route::get('user/list', function () {});
- Route::get('user/info', function () {});
- });
上面的代码把两个路由归为一组,但并没有应用任何相同特征,这样的意义并不大。
一、中间件
为一组路由设置相同的中间件,可设置多个中间件,执行顺序依数组中的顺序来运行。
- Route::middleware(['auth'])->group(function () {
- //使用auth中间件
- Route::get('user/list', function () {});
- //使用auth中间件
- Route::get('user/info', function () {});
- });
二、路由前缀
有些路由有共同的前缀,我们可以为这些路由设置一个共同的前缀。
- Route::prefix('user')->group(function () {
- //处理/user/list
- Route::get('list', function () {});
- //处理/user/info
- Route::get('info', function () {});
- });
三、路由名称前缀
为路由设置名称时,我们想为同组下的路由名称都加上相同的名称前缀。
- Route::name('user.')->prefix('user')->group(function () {
- //处理/user/list,并命名为user.list
- Route::get('list', function () {})->name('list');
- //处理/user/info,并命名为user.info
- Route::get('info', function () {})->name('info');
- });
四、子域名
针对有多商家的场景,某些家商有自已独立的子域名,这时候我们需要针对子域名来进行路由分组。
- Route::domain('{shop}.tmall.com')->group(function () {
- //处理xxx.tmall.com/orders/xxx
- //$shop参数始终是分组路由的第一个参数
- Route::get('orders/{id}', function ($shop, $id) {
- });
- //处理xxx.tmall.com/products/xxx
- //$shop参数始终是分组路由的第一个参数
- Route::get('products/{id}', function ($shop, $id) {
- });
- });
五、命名空间
当我们绑定路由到控制器方法时,如果没有显示指定控制器的命名空间,默认为 App\Http\Controllers。
如果分组路由需要绑定位于该命名空间下的子命名空间,如:App\Http\Controllers\Orders,则可为该分组路由设置一个命名空间。
- Route::namespace('Orders')->prefix('orders')->group(function () {
- //处理/orders/delete
- //并绑定到App\Http\Controllers\Orders下的DeleteController控制器的index方法
- Route::post('delete', 'DeleteController@index');
- //处理/orders/add
- //并绑定到App\Http\Controllers\Orders下的AddController控制器的index方法
- Route::post('add', 'AddController@index');
- });
Tags: laravel路由分组 laravel中间件
- 上一篇:laravel框架select2多选插件初始化默认选中项操作示例
- 下一篇:最后一页
相关文章
- ·Laravel框架基于中间件实现禁止未登录用户访问页面功能示例(2021-11-04)
- ·Laravel 6 将新增为指定队列任务设置中间件的功能(2021-12-09)
- ·laravel利用中间件防止未登录用户直接访问后台的方法(2021-12-25)
- ·Laravel获取当前请求的控制器和方法以及中间件的例子(2022-01-01)
- ·浅谈Laravel中的三种中间件的作用(2022-01-02)
- ·laravel在中间件内生成参数并且传递到控制器中的2种姿势(2022-01-04)
- ·基于Laravel 多个中间件的执行顺序详解(2022-01-14)
- ·laravel框架中间件简单使用方法示例(2022-02-07)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)