Laravel 8 全局约束
如果你希望某个具体的路由参数都遵循同一个正则表达式的约束,就使用 pattern
方法在 RouteServiceProvider
的 boot
方法中定义这些:
/**
* 定义你的路由模型绑定, pattern 过滤器等
*
* @return void
*/
public function boot()
{
Route::pattern('id', '[0-9]+');
}
一旦定义好之后,便会自动应用这些规则到所有使用该参数名称的路由上:
Route::get('user/{id}', function ($id) {
//只有在 id 为数字时才执行...
});