Php 拉威尔路线。如何使路线匹配多个婴儿车?
现在我有路线:Php 拉威尔路线。如何使路线匹配多个婴儿车?,php,laravel,laravel-routing,Php,Laravel,Laravel Routing,现在我有路线: Route::get('blog','BlogController@index'); Route::get('blog/pram1','BlogController@index'); Route::get('blog/pram1/pram2','BlogController@index'); 我需要制定一条路线,允许我使用任意数量的婴儿车,而无需指定婴儿车的确切数量。。。例: www.site.com/blog/pram1/pram2/pram3/pram4/pram5/.
Route::get('blog','BlogController@index');
Route::get('blog/pram1','BlogController@index');
Route::get('blog/pram1/pram2','BlogController@index');
我需要制定一条路线,允许我使用任意数量的婴儿车,而无需指定婴儿车的确切数量。。。例:
www.site.com/blog/pram1/pram2/pram3/pram4/pram5/......
只需要一种方法来指定以(blog)开始的路线,然后再将任意数量的婴儿车重定向到相同的控制器方法。在您的情况下,我建议使用以下模式:
www.site.com/blog?pram1=foo&pram2=bar
所以只保留
Route::get('blog','BlogController@index');
然后在你的控制器里
public function index()
{
// www.site.com/blog?pram1=foo&pram2=bar
$param1 = Input::get('param1'); // return 'foo'
$param2 = Input::get('param2'); // return 'bar'
$param3 = Input::get('param3'); // return null
}
var_dump(Request::segment(2)); // return value of param1, null if doesn't exist
更新 如果您需要保持路线不变,您可以尝试:
Route::get('blog/{params?}','BlogController@index')->where('params', '.*');
然后在你的控制器里
public function index()
{
// www.site.com/blog?pram1=foo&pram2=bar
$param1 = Input::get('param1'); // return 'foo'
$param2 = Input::get('param2'); // return 'bar'
$param3 = Input::get('param3'); // return null
}
var_dump(Request::segment(2)); // return value of param1, null if doesn't exist
我知道这一点,但它不起作用。我需要它使用以前编写的代码,在婴儿车中使用此策略。只需要一种方法来指定以(blog)开始的路线,然后将任何数量的婴儿车重定向到相同的控制器方法。。。