Что такое роутинг
Роутинг — это механизм, который сопоставляет входящий 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, возвращает JSONroutes/console.php— для консольных командroutes/channels.php— для broadcast-каналов
Простой роут
use Illuminate\Support\Facades\Route;
Route::get('/hello', function () {
return 'Hello, world!';
});
Здесь Route::get — статический метод, который регистрирует правило для GET-запроса на /hello. Второй аргумент — замыкание, которое вернёт ответ.
Как Laravel находит роут
- Запрос приходит на
public/index.php - Фреймворк загружает роуты
- Сравнивает URL и метод с зарегистрированными
- Вызывает совпавший обработчик
- Обработчик возвращает ответ
- Ответ отправляется клиенту
Просмотр роутов
php artisan route:list
Команда выводит таблицу всех зарегистрированных маршрутов: метод, URL, имя, действие, middleware.