2014-11-23 14 views
1

我已經搜索了高和低關於此,似乎無法找到任何關於這個問題。Slim Framework:創建對原始帖子的引用/獲取並運行自定義轉義功能

文檔狀態,我可以得到像這樣對這些變量的引用:

$allGetVars = $app->request->get(); 
$allPostVars = $app->request->post(); 
$allPutVars = $app->request->put(); 

什麼,我想知道如果我能以某種方式修改它們,但我不是真的有什麼想法。我正在尋找一種修改這些數組的好方法,並將它們反映到應用程序中,以便以後它們可以在應用程序中使用。

+1

它不使用$ _GET或$ _POST,它使用原始查詢字符串或輸入的,你可以擴展'Slim'本身,併成立了一個新的請求端/或環境(延長內置)[在該班](https://github.com/codeguy/Slim/blob/master/Slim/Slim.php#L159)。順便說一句:你需要首先明確地取消設置,否則'container-> singleton()'不接受新的值。 – Wrikken 2014-11-23 21:55:04

+1

嗯,從頭開始,'private'構造函數還有...... – Wrikken 2014-11-23 22:03:02

回答

1

這是一個黑客的位,但你可以修改$app->environment["slim.request.query_hash"]slim.before掛鉤。

$app->hook("slim.before", function() use ($app) { 

    $hash = $app->environment["slim.request.query_hash"]; 

    if (isset($hash["foo"])) { 
     $hash["foo"] .= "foo"; 
    } 

    $hash["bar"] = "bar"; 

    $app->environment["slim.request.query_hash"] = $hash; 
}); 
+0

var_dump($ hash);'outputs' NULL' – r3wt 2014-11-30 19:21:04

+0

應該是'$ app-> environment ['PATH_INFO'];'感謝您的幫助 – r3wt 2014-11-30 19:28:49

+0

我在生產中使用上面的代碼。也許這取決於環境。 – 2014-12-01 05:50:44

相關問題