阅读(717) (10)

Laravel 8 全局约束

2021-06-23 11:57:01 更新

如果你希望某个具体的路由参数都遵循同一个正则表达式的约束,就使用 pattern 方法在 RouteServiceProviderboot 方法中定义这些:

/**
 *  定义你的路由模型绑定, pattern 过滤器等
 *
 * @return void
 */
public function boot()
{
    Route::pattern('id', '[0-9]+');
}

一旦定义好之后,便会自动应用这些规则到所有使用该参数名称的路由上:

Route::get('user/{id}', function ($id) {
    //只有在 id 为数字时才执行...
});