Laravel 5.8 middleware 中间件 路由分离 routes 自定义路由

本文介绍了一种在Laravel项目中实现路由模块化的有效方法,通过将路由按功能模块划分,提高代码可读性和可维护性。文章详细展示了如何在 RouteServiceProvider 中添加自定义路由方法,如何在 Kernel.php 中注册中间件组,以及如何在特定目录下创建和编辑路由文件。
摘要由CSDN通过智能技术生成

当你使用larvel创建一个相对比较复杂的web网站时,往往你的routes文件就会变得很庞大,我们需要的定义的规则越来越多,如果几百上千个路由都定义在一个文件中,如何去维护?,可以按照功能模块来划分,说一种比较实用的方法:

项目\app\Providers\RouteServiceProvider.php

把你定义的路由方法添加到map

public function map()
{
    $this->mapApiRoutes();
 
    $this->mapWebRoutes();
 
    //这里注册自己想要的 路由方法
 
     $this->map_device_WebRoutes();
     
}

添加路由方法


    protected function map_device_WebRoutes()
    {
        Route::prefix('device')
            ->middleware('device/web')
            ->namespace($this->namespace)
            ->group(base_path('routes/device/web.php'));
    }

然后去中间件添加路由和需要的中间件添加

项目\app\Http\kernel.php
 protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
        ],
        //我们添加的
         'device/web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
]

在routes创建device\web.php

//创建
项目\routes\device\web.php

编辑 项目\routes\device\web.php

//写入
route::get('/',function(){
return 'ok';
});

访问地址 :域名 + /device/ 即可访问到我们的定义的路由文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值