Heim >Backend-Entwicklung >PHP-Tutorial >Inhaltsanalyse von PHP-Zwischenschlüsseln

Inhaltsanalyse von PHP-Zwischenschlüsseln

不言
不言Original
2018-08-04 11:58:072004Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Inhaltsanalyse von PHP-Mittelschlüsseln (mit Code). Ich hoffe, dass er für Freunde hilfreich ist.

PHP-Mittelschlüssel: Der sogenannte Mittelschlüssel dient tatsächlich dazu, einige Funktionen vor oder nach der Ausführung des Routings auszuführen. Vorher können Sie prüfen, ob die API angefordert werden kann, ob sie über Berechtigungen usw. verfügt Post-Middleware kann einige Funktionen nach der Ausführung usw. aufzeichnen.

Die vorübergehende Idee der Methode besteht darin, eine Methode im übergeordneten Controller zu kapseln, beim Ausführen einiger Funktionen zuerst beforeAction und dann nach dem Ausführen der Aktion afterAction auszuführen. Dadurch kann ein einfacher Zwischenschlüssel erreicht werden.

Nachdem ich Laravel kontaktiert hatte, stellte ich fest, dass der Zwischenschlüssel in Laravel eine Schließung (Closure) verwendet. Ein einfaches Beispiel lautet wie folgt:

$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[&#39;auth&#39;] = $auth;
$run = pack_middleware($application, $stack);
$run(&#39;Laravle&#39;, "aaaaa");

Das endgültige gedruckte Ergebnis ist wie folgt

Laravle need aaaaa a auth middleware
this is a a aaa aa application

wobei die array_reverse-Funktion nacheinander ausgeführt wird und schließlich das Ergebnis zurückgibt, zum Beispiel:

$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));

Das endgültige gedruckte Ergebnis lautet wie folgt: Array ( [c] => Toyota [b] => BMW [a] => Volvo )

Empfohlene verwandte Artikel:

So überprüfen Sie, ob eine Remote-Datei in PHP (reiner Code) vorhanden ist

So erstellen Sie eine Soft-Verbindung in PHP (Code)

Das obige ist der detaillierte Inhalt vonInhaltsanalyse von PHP-Zwischenschlüsseln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn