簡體   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