Slim框架路由中间件参数

时间:2014-12-16 12:30:43

标签: authentication slim

我正在为Slim编写自定义路由授权中间件。 如果我理解"路由中间件" "中间件" 不同。

我想以这种方式使用我的自定义路由器中间件:

$app->get('/',$acl->allow(["users","admins"]),function () use ($app) {
    ...
});

其中

$acl->allow是我的路由中间件:

public function allow($auth=[]){
    return function() use($auth){
        ...
    };
}

在本文档http://docs.slimframework.com/#Route-Middleware中,我读到了这个:

  

哪些参数传递到每个路由中间件可调用?

     

每个中间件callable都使用一个参数调用,当前   匹配\ Slim \ Route对象。

如何使用标准参数\ Slim \ Route对象和自定义参数(在我的示例中为["users","admins"]

1 个答案:

答案 0 :(得分:0)

这是在路由中间件可调用中获取自定义和路由参数的简单答案:

public function allow($auth=[]){
    return function($route) use($auth){
        //this is my route:
        $route
    };
}