Шаблонные ограничения параметров маршрутов в Laravel
Не очень удобно каждый раз для ограничения параметров прописывать одни и те же регулярки. Поэтому для популярных ограничений в Laravel созданы специальные методы. Давайте их рассмотрим.
Следующий метод ограничивает параметр только цифрами:
<?php
Route::get('/post/{id}', function ($id) {
return 'post ' . $id;
})->whereNumber('id');
?>
Следующий метод ограничивает параметр только буквами:
<?php
Route::get('/post/{slug}', function ($slug) {
return 'post ' . $slug;
})->whereAlpha('slug');
?>
Следующий метод ограничивает параметр цифрами и буквами:
<?php
Route::get('/post/{slug}', function ($slug) {
return 'post ' . $slug;
})->whereAlphaNumeric('slug');
?>
Метод whereIn ограничивает параметр
списком допустимых значений:
<?php
Route::get('/users/{order}', function ($order) {
return 'sort: ' . $order;
})->whereIn('order', ['name', 'surname', 'age']);
?>
Сделайте маршрут вида /user/:id,
где вместо :id должно быть число.
Используйте whereNumber.
Сделайте маршрут вида /city/:name,
где вместо :name должны быть буквы.
Используйте whereAlpha.
Сделайте маршрут вида /tag/:slug,
где slug может содержать буквы
и цифры. Используйте
whereAlphaNumeric.
Сделайте маршрут вида /users/:order
через whereIn. Допустимые значения:
'name', 'surname',
'age'.