Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗pplrPmRtGPC 16 of 194 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Глобальные ограничения параметров в Laravel

Можно сделать так, чтобы параметр с определенным именем всегда имел заданное ограничение в любых маршрутах. Это нужно прописовать в методе boot класса RouteServiceProvider.

Давайте для примера зададим глобальное ограничение для параметра с именем id:

<?php public function boot() { Route::pattern('id', '[0-9]+'); } ?>

Теперь любой маршрут, у которого есть параметр id, выполнится только если id будет числом:

<?php Route::get('/post/{id}', function ($id) { return '!!!'; // только если число }); ?>

Наложите глобальное ограничение на параметр slug. Пусть он может содержать буквы и цифры, а также дефис и подчеркивание.