我正在为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"]
)
答案 0 :(得分:0)
这是在路由中间件可调用中获取自定义和路由参数的简单答案:
public function allow($auth=[]){
return function($route) use($auth){
//this is my route:
$route
};
}