`pattern`和`where`之间的区别

时间:2014-11-10 08:30:02

标签: laravel

在这种情况下,我很困惑。他们做的完全不一样吗?

期间,一个人在之前和另一个人被切片的事实
Route::pattern('id', '[0-9]+');

Route::get('user/{id}', function($id)
{
    // Only called if {id} is numeric.
});

Route::get('user/{id}', function($id)
{
    //
})
->where('id', '[0-9]+');

1 个答案:

答案 0 :(得分:2)

您可以使用模式

定义全局模式

如果您希望路径参数始终受给定正则表达式的约束,则可以使用模式方法:

Route::pattern('id', '[0-9]+');

Route::get('user/{id}', function($id)
{
    // Only called if {id} is numeric.
});

Route::get('product/{id}', function($id)
{
    // Only called if {id} is numeric.
});

使用你需要为每条路线定义的地方

Route::get('user/{id}', function($name)
{
    //
})
->where('id', '[0-9]+');

Route::get('product/{id}', function($id)
{
    //
})
->where('id', '[0-9]+');

因此,如果您多次使用模式,则可以定义模式