Slim 框架路由中间件参数

Posted

技术标签:

【中文标题】Slim 框架路由中间件参数【英文标题】:Slim framework route middleware arguments 【发布时间】:2015-02-14 18:29:11 【问题描述】:

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

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

$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 我读到这个:

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

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于Slim 框架路由中间件参数的主要内容,如果未能解决你的问题,请参考以下文章

SLIM框架路由验证v2与v3

路由组苗条框架

找不到 Slim jwt 令牌(由 axios 请求发送)

对象返回一个额外的NULL数组

koa 常用中间件

Express框架概述