博客
关于我
Laravel5.5添加新路由文件并制定规则
阅读量:793 次
发布时间: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/

    你可能感兴趣的文章
    Kubernetes包管理工具Helm详解
    查看>>
    Kubernetes单master节点高可用集群安装
    查看>>
    Kubernetes原理详解
    查看>>
    Kubernetes原生的CICD工具Tekton详解
    查看>>
    Kubernetes多master节点高可用集群安装
    查看>>
    Kubernetes存储之Persistent Volumes简介
    查看>>
    Kubernetes学习总结(10)—— 何为云原生,与 kubernetes 是什么关系
    查看>>
    Kubernetes学习总结(11)—— Kubernetes Pod 到底是什么?
    查看>>
    Kubernetes学习总结(12)—— 学习 kubernetes 的10个技巧或建议
    查看>>
    Kubernetes学习总结(13)—— Kubernetes 各个组件的概念
    查看>>
    Kubernetes学习总结(14)—— Kubernetes 实用命令总结
    查看>>
    Kubernetes学习总结(15)—— Kubernetes 实战之部署 Mysql 集群
    查看>>
    Kubernetes学习总结(16)—— Kubernetes 实战之部署 Redis 集群
    查看>>
    Kubernetes学习总结(17)—— Kubernetes 快速入门需要掌握的知识点总结
    查看>>
    Kubernetes学习总结(18)—— Kubernetes 容器网络
    查看>>
    Kubernetes学习总结(1)——Kubernetes入门简介
    查看>>
    Kubernetes学习总结(2)——Kubernetes设计架构
    查看>>
    Kubernetes学习总结(3)——一年时间打造全球最大规模之一的Kubernetes集群,蚂蚁金服怎么做到的?
    查看>>
    Kubernetes学习总结(4)——Kubernetes v1.20 重磅发布 | 新版本核心主题 & 主要变化解读
    查看>>
    Kubernetes学习总结(5)——Kubernetes 常见面试题汇总
    查看>>