Laravel — Перенаправлення

309

Від автора: у цій статті ми розберемо, як працює в Laravel редирект. Зокрема, мова йде про іменованих редиректах.

Редиректи на іменовані маршрути

Іменований маршрут використовується для вказівки конкретного імені маршруту. Ім’я може бути призначено за допомогою ключа масиву «as».

Route::get(‘user/profile’, [‘as’ => ‘profile’, function () {
//
}]);

Примітка. Ми поставили ім’я «profile» для маршруту «user/profile».

Приклад

Крок 1 — Створіть виставу під назвою test.php збережіть його у файлі resources/views/test.php.

Example of Redirecting to Named Routes

Крок 2 — В route.php ми встановили маршрут для файлу test.php. Ми перейменували його в «testing» . Ми також створили ще один маршрут «redirect», який перенаправляє маршрут до «testing» на вказаний маршрут. app/Http/routes.php

Route::get(‘/test’, [‘as’=>’testing’,function(){
return view(‘test2’);
}]);
Route::get(‘redirect’,function(){
return redirect()->route(‘testing’);
});

Крок 3. Перейдіть за наступним URL-адресою, щоб перевірити приклад іменованого маршруту. http://localhost:8000/redirect

Крок 4 — Після виконання вищевказаного URL-адреси ви будете перенаправлені на http://localhost:8000/test, оскільки у нас задано редирект на маршрут “testing”.

Крок 5 — Після успішного виконання URL-адреси ви отримаєте наступний результат:

Laravel — Перенаправлення

Редірект на дії контролера

Ми можемо передавати запит користувача не тільки на визначений маршрут, але і на дії контролера. Нам потрібно просто передати контролер і ім’я дії метод action, як показано в наступному прикладі. Якщо вам потрібно передати також параметр, ви можете передати його в якості другого аргументу методу action.

return redirect()->action(‘NameOfController@methodName’,[parameters]);

Приклад

Крок 1 — Виконайте наступну команду для створення контролера RedirectController.

php artisan make:controller RedirectController –plain

Крок 2 — Після виконання команди ви отримаєте наступний результат:

Laravel — Перенаправлення

Крок 3 — Скопіюйте наступний код у файл app/Http/Controllers/RedirectController.php.

Крок 4 — Додайте в файл app/Http/routes.php наступні рядки.

Route::get(‘rr’,’RedirectController@index’);
Route::get(‘/redirectcontroller’,function(){
return redirect()->action(‘RedirectController@index’);
});

Крок 5 – Перейдіть за наступним URL-адресою. http://localhost:8000/redirectcontroller

Крок 6 Ви повинні побачити на екрані наступне:

Laravel — Перенаправлення