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