@Matilda-kot

Как зарегистрировать маршрут в Laravel с get-параметрами?

Только начал изучать Laravel.
В файле web.php
Route::get('/?example={id}', function(\Illuminate\Http\Request $request) {
    $one = $request->url();
    $two = $request->fullUrl();
    dump($one);
    dump($two);
});


Итог: 404 ошибка при вводе URL-адреса localhost/?example=1.

Кто-нибудь может привести пример кода как создавать маршруты с URL-адресом localhost/?example=1?
*Значение example динамично.

Также я не совсем понимаю что такое параметры маршрута. Как я понял, это динамическая часть URL.
А разве localhost/?example=1 не динамическая часть (раз значение example, по логике, обычно меняется)?
Есть мысль, что параметры маршрута это и есть GET-параметры в Laravel.

Пожалуйста, наведите порядок в моей голове, дав четкое представление о том, что такое параметры маршрута в Laravel и как регистрировать маршрут с URL, в котором есть get-параметры.

P.S. Собственно все эти пробелы всплыли, когда я хотел увидеть результат работы методов url() и fullUrl(), чтобы увидеть разницу.
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
yesbro
@yesbro
Думаю, помогаю думать
Такой маршрут (c гет параметрами) зарегистрировать не получится. Делай без параметров, а уже внутри контроллера, который будет обрабатывать маршрут обрабатывай условия.

Route::get('/', function(\Illuminate\Http\Request $request) {
    $id = $request->input('id');
    match($id) {
        'one' => $this->caseOne(),
        'two' => $this->caseTwo(),
        default=> $this->caseDefault(),
    }
});


Под параметрами маршрута скорее всего подразумевается когда ты передаешь данные через path, а не query string.

Например

Route::get('/page/{page}/{id}', function(\Illuminate\Http\Request $request, string $page, string $id) {
    dump($page, $id);
});


Для урл /page/example/10 будет выведено example и 10
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы