Laravel正则表达式路线

问题描述 投票:2回答:2

我想从控制器调用一个函数到所有路径以my_website / doc /开头。

但是我在laravel 5中找不到那样做的东西。

像:Route::get('my_website/doc/*', 'WelcomeController@doc');

例如:

my_website/doc/test --> WelcomeController@doc

my_website/doc/test/1 --> WelcomeController@doc

my_website/doc/test/1/etc --> WelcomeController@doc
php regex laravel-5
2个回答
2
投票

你可以像这样使用

Route::get('my_website/docs/{page?}', 'WelcomeController@doc');

{page?}将是

  • test用于my_website / doc / test
  • test/1 for my_website / doc / test / 1
  • test/1/etc for my_website / doc / test / 1 / etc

doc方法

public function doc($page = null)
{
    dd($page);
}

1
投票

这是解决问题的另一种方法:

Route::get('{slug}', function($slug){
    dd($slug);
    //
})->where('slug', 'my_website/docs.*');
© www.soinside.com 2019 - 2024. All rights reserved.