#php #laravel #laravel-5 #lumen
#php #laravel #laravel-5 #lumen
Вопрос:
Я ищу необязательный параметр для индексного маршрута следующим образом:
$app->get('/{name?}', function ($name) {
//Do Something here
});
Я в основном хочу проверить и посмотреть, есть ли указанный параметр. Если это так, верните конкретное представление, если нет, верните стандартное индексное представление. Ни за что на свете я не могу заставить его работать, скорее всего, делая что-то глупое! Любая помощь будет принята с благодарностью!
Ответ №1:
Прежде всего, вам нужно сделать аргумент $name необязательным в вашей функции контроллера, чтобы он работал, когда имя не указано. Затем, в зависимости от того, установлен параметр или нет, вы можете возвращать разные представления:
$app->get('/{name?}', function ($name = null) {
if (is_null($name)) {
return view('index');
}
else {
return view('some_other_view');
}
});
ПРИМЕЧАНИЕ: На мой взгляд, было бы более читабельно, если бы вы создали 2 отдельных маршрута, один для индекса и один, который принимает параметр name, поскольку поведение вашего приложения в этих 2 случаях кажется совершенно разным.
Комментарии:
1. Привет, jedrzej, в итоге я выбрал 2 отдельных маршрута, как вы предложили, и это сработало. Спасибо за вашу помощь!