Как получить параметры от любого Uri в Slim 3 Framework? - PullRequest
0 голосов
/ 13 июня 2019

Я новичок в Slim 3 Framework.Я хочу получить параметр, такой как api_key или token, из любого URL-адреса API, чтобы проверить правильность запрошенного api_key.(Любой API запроса с любым методом, отправляемым на сервер, всегда будет иметь 2 параметра: GET api_key и POST-токен.)

В Slim 2 я использую $app->request()->get('api_key'), но request() был удален в Slim3. Как я могу получить параметры, прежде чем они будут включены в любой маршрут?

1 Ответ

0 голосов
/ 13 июня 2019

Похоже, вы ищете промежуточное ПО приложения.

В 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 вводит все в параметры функции, чтобы вы могли его использовать.

...