0

我在 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');
});

在控制器中:

public function __construct() {
        parent::__construct();
        $this->filter('before','diffauthor', $myparam);
    }

如何根据用户请求传递 $myparam?

4

1 回答 1

3

您只能将参数作为字符串传递给过滤器:

$this->filter('before', 'diffauthor:param1,param2');

有时为了解决这个限制,我使用 Session 类作为一种临时存储,甚至通过查看Request::route()过滤器中返回的对象来检查传递给方法的变量。

于 2013-03-14T03:20:54.943 回答