Ограничения параметров маршрутов в 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]+'); ?>

Сделайте маршрут вида /user/:id, где вместо :id должно быть число.

Попробуйте обратиться через браузер к этому маршруту, передав параметром число.

Попробуйте обратиться через браузер к этому маршруту, передав параметром не число. Расскажите, что будет.