この記事の内容は、PHP 中間キーの内容解析 (コード付き) に関するもので、一定の参考価値がありますので、困っている方は参考にしていただければ幸いです。
PHP 中間キー: いわゆる中間キーは、実際にはルーティングを実行する前または後にいくつかの関数を実行するためのもので、API がリクエストできるかどうか、権限があるかどうかなどを確認することができます。ポストミドルウェアは一部の機能、実行後のログなどを記録できます。
暫定的に考えられる方法は、親コントローラーにメソッドをカプセル化し、いくつかの関数を実行するときに最初に beforeAction を実行し、アクションの実行後に 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中間キーの内容分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。