Laravel5.5添加新路由文件并制定规则
发布日期:2025-04-04 04:34:25 浏览次数:10 分类:精选文章

本文共 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)。
    • 如果遇到未指令的路由错误,确保前缀和中间件名称正确无误。

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

    上一篇:laravel5.5组件之 Forms & HTML 组件 (laravelcollective/html)
    下一篇:laravel5.5数据库迁移入门实践

    发表评论

    最新留言

    能坚持,总会有不一样的收获!
    [***.219.124.196]2025年04月20日 21时48分09秒