Метод whereAlpha
Метод whereAlpha применяется к экземпляру маршрута и позволяет задать ограничение для параметра маршрута. В отличие от универсального метода where, этот метод автоматически применяет регулярное выражение, допускающее только буквы латинского алфавита (a-z и A-Z). Первым параметром передаётся имя параметра, вторым можно передать пользовательское сообщение об ошибке (необязательно). Метод возвращает тот же экземпляр маршрута, что позволяет строить цепочки вызовов.
Синтаксис
<?php
use Illuminate\Support\Facades\Route;
Route::get($uri, $callback)->whereAlpha($param, $message = null);
?>
Пример
Ограничим параметр 'user' так, чтобы он содержал только буквы:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/user/{name}', function ($name) {
return "User name: " . $name;
})->whereAlpha('name');
?>
Результат выполнения кода при запросе /John:
"User name: John"
При запросе /John123 будет возвращена ошибка 404, так как параметр содержит цифры.
Пример
Используем метод whereAlpha для нескольких параметров:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/post/{slug}/comment/{author}', function ($slug, $author) {
return "Post: $slug, Author: $author";
})->whereAlpha(['slug', 'author']);
?>
Результат выполнения кода при запросе /post/laravel/comment/John:
"Post: laravel, Author: John"
Смотрите также
-
метод
where,
который позволяет задать произвольное регулярное выражение -
метод
whereNumber,
который ограничивает параметр только цифрами -
метод
whereAlphaNumeric,
который разрешает буквы и цифры -
метод
whereUuid,
который проверяет параметр на соответствие формату UUID