|
|||||||
Генерация URL в Laravel: роутинг, редирект и их использование
Время создания: 20.06.2019 18:52
Автор: xintrea
Текстовые метки: php, laravel, route, redirect, url, роут, маршрут, редирект
Раздел: Компьютер - Программирование - Язык PHP - Laravel
Запись: xintrea/mytetra_syncro/master/base/1561045956w9mcw1exjf/text.html на raw.github.com
|
|||||||
|
|||||||
Как получить URL для именованного роута В файле маршрутов web.php часто прописывают именованные маршруты. Для задания имени маршруту используется метод name(). Например: Route::get( '/holdObjects/list', 'HoldObjectController@list')->name('holdObjectsList'); Чтобы получить URL, соответствующий такой записи, можно воспользоваться функцией route(): route( 'holdObjectsList' ) Если в маршруте присутсвует параметр, например идентификатор, его можно указывать как второй параметр функции route(), например: Route::get( '/holdObjects/show/{id}', 'HoldObjectController@show')->name('holdObjectsShow'); ... route( 'holdObjectsShow', 5 ) Если в маршруте присутсвует несколько параметров, то для формирования URL нужно будет указать массив из значений параметров, напрмер так: Route::get( '/holdObjects/show/{id}/style/{mode}', 'HoldObjectController@showStyle')->name('holdObjectsShowStyle'); ... route( 'holdObjectsShow', ['id'=>5, 'mode'=>'normal'] ) (Требуется проверка) Редирект на именованный роут Для осуществления редиректа на URL, соответствующий именованному маршруту, можно пользоваться конструкцией: redirect()->route( 'userHoldObjectShow', [ 'id'=> $holdObjectId] ); Здесь userHoldObjectShow - это имя маршрута, заданного через метод name(). А в квадратных скобках - это параметры. Эту конструкцию может возвращать любой метод контроллера, и в результате браузер будет делать переход на нужную страницу. Это самый простой способ, позволяющий PHP-коду направлять браузер на нужный URL. Получение URL предыдущей страницы Начиная с Laravel 5.1, получить URL предыдущей посещенной страницы можно с помощью команды: url()->previous() Получение URL, на который будет переводиться редирект Иногда нужно узнать, какой URL будет открыт при редиректе. Это можно сделать с помощью метода getTargetUrl(), вот так: redirect()->back()->getTargetUrl() Эта конструкция вернет URL предыдущенй посещенной страницы. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|