我在Stack上搜索并看到了这个问题How to add filter parameters to controllers in Laravel?。
我有一个类似的问题,但这一次,我需要传递一个灵活的$ myparam参数,代码看起来像吼叫:
在Route.php中
Route::filter('diffauthor',function($myparam){
if(Authority::cannot('edit', 'postedit', $myparam))
return View::make('permdeny.index');
});
并在Controller中:
public function __construct() {
parent::__construct();
$this->filter('before','diffauthor', $myparam);
}
如何根据用户请求传递$ myparam?
答案 0 :(得分:3)
您只能将参数作为字符串传递给过滤器:
$this->filter('before', 'diffauthor:param1,param2');
有时为了解决这个限制,我使用Session类作为一种临时存储,甚至通过查看我的过滤器中Request::route()
返回的对象来检查传递给方法的变量。