這篇文章帶給大家的內容是關於PHP中間鍵的內容解析(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
PHP中間鍵:所謂的中間鍵其實就是在執行路由之前或之後執行一些函數,之前可以檢測該API是否可以被請求,有沒有權限等,後置中間件可以實現記錄一些函數執行之後的日誌等。
暫時想到的方法有可以在父級controller封裝一個方法,在執行一些函數的時候先執行beferAction,執行完Action之後再執行afterAction,這樣可以達到簡單的中間鍵。
接觸laravel之後發現laravel中的中間鍵採用了閉包(Closure),簡單範例如下:
$application = function ($names, $a){ echo "this is a {$names} aaa {$a} application"; echo "<br />"; };// 前置中间键$auth = function ($handler){ return function ($name, $as) use ($handler){ echo "{$name} need {$as} a auth middleware"; echo "<br />"; return $handler; }; }; $stack = [];// 打包 function pack_middleware($handler, $stack){ foreach (array_reverse($stack) as $key => $middleware) { $handler = $middleware($handler); } return $handler; } $stack['auth'] = $auth; $run = pack_middleware($application, $stack); $run('Laravle', "aaaaa");
最後列印結果如下
Laravle need aaaaa a auth middleware this is a a aaa aa application
其中array_reverse
函數依序執行最後回傳結果,例如:
$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota"); print_r(array_reverse($a));
最後列印結果如下:Array ( [c] => Toyota [b] => BMW [a] => Volvo )
相關文章推薦:
以上是關於PHP中間鍵的內容解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!