php - laravel 路由参数的默认值怎么设置?
巴扎黑
巴扎黑 2017-04-10 15:06:50
0
4
388

我知道可以这样

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

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

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

reply all(4)
Ty80
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;
});
Peter_Zhu

不太明白控制器什么什么的,不过猜测肯定应该是一个类,如果是要使用类内函数的话可以使用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 的话,是一个未定义的路由。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template