Ограничения параметров маршрутов в Laravel
Как правило мы бы хотели наложить на параметры маршрутов некоторые ограничения. Давайте посмотрим на примере. Пусть у нас есть следующий маршрут:
<?php
Route::get('/post/{id}', function ($id) {
return 'пост ' . $id;
});
?>
Очевидно, что id должен быть числом. Однако, сейчас наш маршрут не следит за этим и поймает любой адрес такого вида, например, /post/eee.
Давайте наложим ограничение на наш параметр. Это делается с помощью метода where и регулярных выражений:
<?php
Route::get('/post/{id}', function ($id) {
return 'пост ' . $id;
})->where('id', '[0-9]+');
?>