繁体   English   中英

如何从Slim 3 Framework中的任何Uri获取params?

[英]How to get params from any Uri in Slim 3 Framework?

我是Slim 3框架的新手。 我想从任何API URL获取诸如api_key或token之类的参数,以验证所请求的api_key是否正确。 (任何发送到服务器的任何方法的请求API都将始终有2个参数:GET api_key和POST令牌。)

在Slim 2中我使用$app->request()->get('api_key') ,但是在Slim 3中删除了request() 。如何在参数被包含到任何路由之前获取参数?

看起来你正在寻找一个应用程序中间件。

在苗条3中它可能看起来像这样:

$app = new \slim\App();
$app->add(function($request, $response, $next) {
    // check if the header is set
    if ($request->getHeader('api_key')) {
        // check key
        if (key_is_valid($request->getHeader('api_key'))) { // dummy function
            return $next($request, $response);
        }
    }
});

此中间件检查api密钥的每个请求,并仅在密钥有效时才执行请求。

当然,如果密钥无效,您必须实现某种错误处理。

Slim将所有内容注入到函数参数中,以便您可以使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM