AndyM129

102 经验值

原文中有介绍到:

===============
上面这个时候,我们如果访问http://blog.dev/user,这是报错的,因为这个路由期望你在后面输入一个变量$name,但是你并没有,所以会报错,我们可以通过可选参数来实现这个目的

可选参数:
Route::get('user/{name?}', function ($name = null) {

return 'Hello '.$name;

});
这个时候,再次访问http://blog.dev/user就不会报错了,但是貌似这个时候只返回了Hello,我们也可以设置一个默认值:

Route::get('user/{name?}', function ($name = 'JellyBool') {

return 'Hello '.$name;

});
这个时候,如果我们没有输入$name这个变量,我们会返回 Hello JellyBool

===============

所以依你的写法,name此时是必要参数,你只是给name了一个默认值,改为“user/{name?}”——加上一个“?”号就好了~~