如何在Laravel中为URL参数创建模式

时间:2018-01-01 16:23:56

标签: php laravel laravel-5 laravel-routing

我在位于RouteServiceProvider.php目录中的文件app/Providers中编写了此代码。

在方法启动中:

$this->pattern('{id}', '[0-9]+');

然后根据我读到的内容,我想如果我写这段代码:

Route::get('/user/{id}', function ($id){
    return $id;
});

在routes目录中的web.php文件中,id参数只接受int值,但是当我测试这个url:http://127.0.0.1:8000/user/a时,我看到a被返回。

问题在哪里,我该如何制作模式?

1 个答案:

答案 0 :(得分:1)

根据the docs,您应该使用Route::外观而不是$this->id代替{id}

public function boot()
{
    Route::pattern('id', '[0-9]+');

    parent::boot();
}