0

スタックで検索したところ、この質問が表示されました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');

Request::route()この制限を回避するために、Sessionクラスを一種の一時ストアとして使用したり、フィルター内で返されたオブジェクトを調べてメソッドに渡されている変数を調べたりすることもあります。

于 2013-03-14T03:20:54.943 に答える