我在RouteServiceProvider.php
目录中的app/Providers
文件中编写了这段代码。
在方法启动中:
$this->pattern('{id}', '[0-9]+');
然后根据我读到的,我想如果我写这段代码:
Route::get('/user/{id}', function ($id){
return $id;
});
在route目录中的web.php文件中,id参数只接受int值,但是当我测试这个url时:http://127.0.0.1:8000/user/a
我看到a
被返回了。
问题出在哪里,我该如何制作模式?
根据the docs你应该使用Route::
facade而不是$this->
和id
而不是{id}
:
public function boot()
{
Route::pattern('id', '[0-9]+');
parent::boot();
}