Урок 01

Что такое роутинг

Роутинг — это механизм, который сопоставляет входящий HTTP-запрос с кодом, который должен его обработать. Когда браузер открывает /posts/5, Laravel должен понять, какой код выполнить для этого URL.

Как это работает

При запуске приложения Laravel загружает все файлы роутов (routes/web.php, routes/api.php, routes/console.php) и строит таблицу маршрутов. Когда приходит запрос, фреймворк ищет совпадение по методу и пути. Если находит — вызывает обработчик. Если нет — возвращает 404.

Файлы роутов

  • routes/web.php — для браузерных запросов. Использует сессии, CSRF-защиту, куки
  • routes/api.php — для API. Без сессий, stateless, возвращает JSON
  • routes/console.php — для консольных команд
  • routes/channels.php — для broadcast-каналов

Простой роут

use Illuminate\Support\Facades\Route;

Route::get('/hello', function () {
    return 'Hello, world!';
});

Здесь Route::get — статический метод, который регистрирует правило для GET-запроса на /hello. Второй аргумент — замыкание, которое вернёт ответ.

Как Laravel находит роут

  1. Запрос приходит на public/index.php
  2. Фреймворк загружает роуты
  3. Сравнивает URL и метод с зарегистрированными
  4. Вызывает совпавший обработчик
  5. Обработчик возвращает ответ
  6. Ответ отправляется клиенту

Просмотр роутов

php artisan route:list

Команда выводит таблицу всех зарегистрированных маршрутов: метод, URL, имя, действие, middleware.