【问题标题】:Laravel 5.1 Wildcard RouteLaravel 5.1 通配符路由
【发布时间】:2015-10-12 17:22:11
【问题描述】:

我正在创建一个允许用户定义类别的 CMS。类别下可以有其他类别或页面。如何在 Laravel 中创建一个支持无限数量 URI 段的路由?

我已经尝试了以下......

Route::get('/resources/{section}', ['as' => 'show', 'uses' => 'MasterController@show']);

我也尝试将路线设为可选...

Route::get('/resources/{section?}', ['as' => 'show', 'uses' => 'MasterController@show']);

请记住,部分可以是多个部分或一个页面。

【问题讨论】:

    标签: php laravel laravel-5 laravel-routing


    【解决方案1】:

    首先,您需要提供一个正则表达式来匹配参数值。 Laravel 路由器将 / 视为参数分隔符,您必须更改该行为。你可以这样做:

    Route::get('/resources/{section}', 
      [
        'as' => 'show', 
        'uses' => 'MasterController@show'
      ])
      ->where(['section' => '.*']);
    

    这样,任何出现在 /resources/ 之后并与正则表达式匹配的内容都将传递给控制器​​中的 $section 变量。

    【讨论】:

      猜你喜欢
      • 2017-07-17
      • 1970-01-01
      • 2015-11-07
      • 2014-06-29
      • 1970-01-01
      • 2021-05-12
      • 2014-12-01
      • 2023-03-28
      • 1970-01-01
      相关资源
      最近更新 更多