当前位置:Gxlcms > PHP教程 > laravel路由参数的默认值怎么设置?

laravel路由参数的默认值怎么设置?

时间:2021-07-01 10:21:17 帮助过:160人阅读

我知道可以这样

Route::get('user/{name}', function($name = 'John'){ });

但是使用到控制器的时候怎么设置?
比如:

Route::get('user/{name}', 'UserController@index');

回复内容:

我知道可以这样

Route::get('user/{name}', function($name = 'John'){ });

但是使用到控制器的时候怎么设置?
比如:

Route::get('user/{name}', 'UserController@index');

Route::get('user/{name?}', 'UserController@index');

//UserController.php
public function index($name = 'Default Value')
{
    return $name;
}

文档里写的很清楚啊。

另外closure 和 action 没有区别

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

不太明白控制器什么什么的,不过猜测肯定应该是一个类,如果是要使用类内函数的话可以使用array('类名', '方法名')调用,大概如下:

Route::get('user/{name}', array('UserController', 'index'));

那就在index中使用默认参数啊

如果

//routes.php
Route::get('user/{name}', 'UserController@index');

那么在控制器中:

//UserController.php
public function index($name)
{
    echo $name;
}

注意,这个时候你设置 $name = xxx 是没有意义的,因为$name不可能为空,直接访问 /user 的话,是一个未定义的路由。

人气教程排行