zoukankan      html  css  js  c++  java
  • Laravel如何添加路由模块

    需求

    添加open模块,路由规则和控制器能独立存放,最终可以通过/open/xxx访问到Open/xxxController.php的控制器的方法

    步骤

    1.创建路由文件

    routes文件夹创建open.php文件

    代码如下

    <?php
    /**
     * open.php 2020年03月17日 3:40 下午
     * @author chenqionghe
     */
    
    Route::group(['middleware' => []], function () {
        
    });
    

    2.注册路由文件

    将创建的open文件注册到App/Http/Providers/RouteServiceProvider.php,代码如下

        public function map()
        {
            Route::prefix('open')//路由前缀
            ->middleware('open')//路由组
            ->namespace("{$this->namespace}\Open")//命名空间
            ->group(base_path('routes/open.php'));//路由文件路径
            //...其他路由代码忽略
        }
    

    解释

    • middleware('open'):代表有一个路由组叫open
    • namespace("{$this->namespace}Open'"):指定命名空间
    • group(base_path('routes/open.php')):指定路由文件

    3.创建中间件文件

    例如需要验证路由模块的中间件,这里名字我叫OpenAuth

     php artisan make:middleware OpenAuth
    

    生成代码如下

    4.注册中间件路由组

    将创建的中间件OpenAuth添加到middlewareGroups,组名为上面写的open

        protected $middlewareGroups = [
            //默认代码省略
            'open' => [
                AppHttpMiddlewareOpenAuth::class
            ],
        ];
    

    5.创建控制器

    执行命令

    php artisan make:controller Open/IndexController --resource
    

    会在Controllers下创建Open文件夹和IndexController.php文件
    我们修改下,返回hello world

    6.自定义路由规则

    将生成的控制器注册到路由规则
    如下

    <?php
    /**
     * open.php 2020年03月17日 3:40 下午
     * @author chenqionghe
     */
    
    Route::group(['middleware' => []], function () {
        Route::get('/test', 'IndexController@index');
    });
    

    测试

    访问测试

    访问/open/test,如下,访问已经成功

    中间件测试

    修改OpenAuth,检测必须传递一个sign=1234的参数才能通过

    再次请求


    可以看到,中间件也已经生效

  • 相关阅读:
    PPT1 例1
    皇宫看守 树形DP
    没有上司的晚会 树形DP
    将功补过 树形DP
    战略游戏 树形DP
    选课 树形DP
    二叉苹果树 树形DP
    GDOI2016总结
    加分二叉树 树形DP
    [注意]未做的题(最短路)
  • 原文地址:https://www.cnblogs.com/chenqionghe/p/12511400.html
Copyright © 2011-2022 走看看