В Laravel все запросы отображаются с помощью маршрутов. Базовая маршрутизация направляет запрос к связанным контроллерам. В этой главе обсуждается маршрутизация в Laravel.
Маршрутизация в Laravel включает в себя следующие категории —
- Базовая маршрутизация
- Параметры маршрута
- Названные маршруты
Базовая маршрутизация
Все маршруты приложений регистрируются в файле app / rout.php . Этот файл сообщает Laravel об идентификаторах URI, на которые он должен ответить, и связанный с ним контроллер даст ему конкретный вызов. Пример маршрута для страницы приветствия можно увидеть, как показано на скриншоте ниже:
Route::get ('/', function () { return view('welcome');});
пример
Посмотрите на следующий пример, чтобы понять больше о маршрутизации —
приложение / Http / routes.php
<?php Route::get('/', function () { return view('welcome'); });
ресурсы / просмотр / welcome.blade.php
<!DOCTYPE html> <html> <head> <title>Laravel</title> <link href = "https://fonts.googleapis.com/css?family=Lato:100" rel = "stylesheet" type = "text/css"> <style> html, body { height: 100%; } body { margin: 0; padding: 0; width: 100%; display: table; font-weight: 100; font-family: 'Lato'; } .container { text-align: center; display: table-cell; vertical-align: middle; } .content { text-align: center; display: inline-block; } .title { font-size: 96px; } </style> </head> <body> <div class = "container"> <div class = "content"> <div class = "title">Laravel 5.1</div> </div> </div> </body> </html>
Механизм маршрутизации показан на рисунке ниже —
Давайте теперь разберемся в деталях, что входит в механизм маршрутизации —
Шаг 1 — Первоначально мы должны выполнить корневой URL-адрес приложения.
Шаг 2. Теперь выполненный URL-адрес должен соответствовать соответствующему методу в файле route.php . В данном случае он должен соответствовать методу и корневому (‘/’) URL. Это выполнит связанную функцию.
Шаг 3 — Функция вызывает файл шаблона resources / views / welcome.blade.php. Затем функция вызывает функцию view () с аргументом ‘welcome’ без использования blade.php .
Это приведет к выводу HTML, как показано на рисунке ниже —
Параметры маршрута
Иногда в веб-приложении вам может потребоваться захватить параметры, переданные с помощью URL. Для этого вам следует изменить код в файле rout.php .
Вы можете записать параметры в файле rout.php двумя способами, как описано здесь —
Обязательные параметры
Это те параметры, которые должны быть обязательно записаны для маршрутизации веб-приложения. Например, важно захватить идентификационный номер пользователя из URL. Это может быть возможно путем определения параметров маршрута, как показано ниже —
Route::get('ID/{id}',function($id) { echo 'ID: '.$id; });
Необязательные параметры
Иногда разработчики могут выдавать параметры как необязательные и это возможно при включении ? после имени параметра в URL. Важно сохранить значение по умолчанию, указанное в качестве имени параметра. Посмотрите на следующий пример, который показывает, как определить необязательный параметр —
Route::get('user/{name?}', function ($name = ' TutorialsPoint ') { return $name;});
В приведенном выше примере проверяется, соответствует ли значение TutorialsPoint, и, соответственно, направляется на определенный URL.
Названные маршруты
Именованные маршруты позволяют удобный способ создания маршрутов. Цепочка маршрутов может быть указана с использованием метода имени в определении маршрута. В следующем коде показан пример создания именованных маршрутов с контроллером —
Route::get('user/profile', 'UserController@showProfile')->name('profile');
Пользовательский контроллер вызовет функцию showProfile с параметром в качестве профиля . Параметры используют метод имени в определении маршрута.