Учебники

Laravel — Маршрутизация

В 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, как показано на рисунке ниже —

Laravel5

Параметры маршрута

Иногда в веб-приложении вам может потребоваться захватить параметры, переданные с помощью 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 с параметром в качестве профиля . Параметры используют метод имени в определении маршрута.