如何从 Slim 3 Framework 中的任何 Uri 获取参数?
How to get params from any Uri in Slim 3 Framework?
我是 Slim 3 框架的新手。我想从任何 API URL 获取 api_key 或令牌等参数,以验证请求的 api_key 是否正确。 (任何使用任何方法发送到服务器的请求 API 将始终有 2 个参数:一个 GET api_key 和一个 POST 令牌。)
在 Slim 2 中,我使用 $app->request()->get('api_key')
,但 request()
在 Slim 3 中已被删除。如何在参数包含到任何路由之前获取参数?
您似乎在寻找应用程序中间件。
在 slim 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 将所有内容注入到函数参数中,以便您可以使用它。
我是 Slim 3 框架的新手。我想从任何 API URL 获取 api_key 或令牌等参数,以验证请求的 api_key 是否正确。 (任何使用任何方法发送到服务器的请求 API 将始终有 2 个参数:一个 GET api_key 和一个 POST 令牌。)
在 Slim 2 中,我使用 $app->request()->get('api_key')
,但 request()
在 Slim 3 中已被删除。如何在参数包含到任何路由之前获取参数?
您似乎在寻找应用程序中间件。
在 slim 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 将所有内容注入到函数参数中,以便您可以使用它。