Условия, при котором URL будет доступен
В файле routes/web.php при указании URL, через метод where()
можно указать условия, при котором URL будет доступен. Условия указываются через регулярные выражения.
// в {id} могут быть только числа Route::get('news/{id}', 'NewsController@show')->where('id', '\d+'); // одно из указанных значений, например «ru» или «en» Route::get('{lang}/news', 'NewsController@index')->where('lang', 'ru|en');
Регулярное выражение \d
разрешает использовать только числа, а знак +
означает, что числа могут быть указаны в любом количестве.
2. Условие по умолчанию
Чтобы, например, не указывать для каждого параметра {id} условие where()
, в файле app/Providers/RouteServiceProvider.php можно указать условие по умолчанию.
# app/Providers/RouteServiceProvider.php class RouteServiceProvider extends ServiceProvider { public function boot() { // в URL для параметра {id} можно указывать только числа Route::pattern('id', '\d+'); parent::boot(); } // … }
Авторизуйтесь, чтобы добавлять комментарии