博客
关于我
Laravel5.5添加新路由文件并制定规则
阅读量:792 次
发布时间:2023-01-30

本文共 1949 字,大约阅读时间需要 6 分钟。

Laravel 5.5 中添加自定义路由文件的指南

在 Laravel 5.5 项目中,默认有 web.php 作为主要的路由文件。如果需要添加额外的路由文件,可以按照以下步骤进行操作。

第一步:创建自定义路由文件

  • 打开命令提示符,进入 routes 文件夹。
  • 创建一个新的路由文件名为 home.php
  • 第二步:修改 RouteServiceProvider

  • 打开 RouteServiceProvider.php 文件。

  • map 方法中,添加新的路由注册方法 mapHomeRoutes

  • mapHomeRoutes 方法中:

    • 使用 Route::prefix('home') 定义前缀。
    • 使用 middleware('home') 定义中间件。
    • 使用 namespace() 给路由注入控制器的命名空间。
    • 使用 group(base_path('routes/home.php')) 包含自定义路由规则。
  • map() 方法中,将 mapHomeRoutes 加入执行链:

    public function map() {    $this->mapApiRoutes();    $this->mapWebRoutes();    $this->mapHomeRoutes();}
  • 完整的 RouteServiceProvider.php 代码示例:

    mapApiRoutes(); $this->mapWebRoutes(); $this->mapHomeRoutes(); } protected function mapWebRoutes() { Route::middleware('web') ->namespace($this->namespace) ->group(base_path('routes/web.php')); } protected function mapApiRoutes() { Route::prefix('api') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api.php')); } protected function mapHomeRoutes() { Route::prefix('home') ->middleware('home') ->namespace($this->namespace . '\Home') ->group(base_path('routes/home.php')); }}

    第三步:注册自定义中间件

  • 打开 Kernel.php 文件。
  • $routeMiddleware 数组末尾,添加 home 对应的中间件类名:
    'home' => \App\Http\Middleware\VerifyHome::class,
  • 第四步:创建自定义中间件

  • Middleware 文件夹下,新建一个名为 VerifyHome.php 的文件。
  • 填写中间件的逻辑:
  • 第五步:定义自定义路由规则

  • 打开 routes/home.php 文件。
  • 定义属于 home 前缀下的路由规则。
  • 路由示例

    routes/home.php 中:

    Route::prefix('home')->middleware('home')->group(function () {    Route::get('aaa', 'HomeController@method1');    Route::get('bbb', 'HomeController@method2');});

    第六步:创建相应的控制器

  • 创建或在 Home 命名空间下,定义相应的控制器类:
  • 测试访问示例

    • 访问 laravel.com/home/aaa 应返回 "aaa"。
    • 访问 laravel.com/home/bbb 应返回 "bbb"。

    注意事项

    • 默认的 web.php 下的路由无需额外中间件。
    • 对于自定义路由文件,需要在 URL 中包含前缀(如 laravel.com/home/aaa)。
    • 如果遇到未指令的路由错误,确保前缀和中间件名称正确无误。

    如有其他问题,请根据实际项目需求调整配置,并欢迎留言提问。

    转载地址:http://cfgyk.baihongyu.com/

    你可能感兴趣的文章
    Java---设计模式app小软件汇总应用
    查看>>
    Java-JUC(五):闭锁(CountDownLatch)
    查看>>
    Java-slf4j:sfl4j
    查看>>
    java-如何给表格添加分页
    查看>>
    Java-笔记12
    查看>>
    java-设计模式-装饰器设计模式,代理设计模式和继承三种扩展方法的比较
    查看>>
    java.io.IOException: Tried to send an out-of-range integer as a 2-byte value :79944
    查看>>
    java.io.tmpdir
    查看>>
    java.lang.IllegalStateException: Optional int parameter 'id' is not present but cannot be translated
    查看>>
    java农副产品购物app的设计与开发(ssm)
    查看>>
    JAVA分布式系统
    查看>>
    java分布式链路追踪;jvm应用监控-skywalking
    查看>>
    Java创建elasticsearch的model时,如何配置使用ik分词器?
    查看>>
    java加密解密
    查看>>
    java勤工助学管理系统
    查看>>
    JAVA反射
    查看>>
    Java反射
    查看>>
    java反射介绍
    查看>>
    Java反射代码编写
    查看>>
    JAVA反射机制
    查看>>