маршруты laravel. как создать маршрут, соответствующий нескольким детским коляскам?

#php #laravel #laravel-routing

#php #laravel #laravel-маршрутизация

Вопрос:

теперь у меня есть маршруты :

 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), после чего любое количество детских колясок перенаправляется на тот же метод контроллера.

Ответ №1:

В вашем случае я рекомендую использовать этот шаблон:

 www.site.com/blog?pram1=fooamp;pram2=bar
  

Поэтому сохраняйте только

 Route::get('blog','BlogController@index');
  

Затем в вашем контроллере

 public function index()
{
    // www.site.com/blog?pram1=fooamp;pram2=bar
    $param1 = Input::get('param1'); // return 'foo'
    $param2 = Input::get('param2'); // return 'bar'
    $param3 = Input::get('param3'); // return null
}
  

Обновить

Если вам нужно сохранить свой маршрут таким, какой он есть, вы можете попробовать:

 Route::get('blog/{params?}','BlogController@index')->where('params', '.*');
  

Затем в вашем контроллере

 var_dump(Request::segment(2)); // return value of param1, null if doesn't exist
  

Комментарии:

1. я знал это, но это не работает. мне это нужно, чтобы использовать ранее написанный код, который использует эту стратегию в детских колясках.

2. просто нужен способ указать маршрут, начинающийся с (blog), после чего любое количество детских колясок перенаправляется на тот же метод контроллера…