Wie kann ich das Haupt PHP-Skript Rückkehr false
von innerhalb einer Klasse oder einer Funktion machen?Wie kann man von einem PHP-Skript innerhalb einer Klasse/Funktion false zurückgeben?
Warum: Das ist wegen des eingebauten Webserver:
Wenn eine PHP-Datei auf der Kommandozeile angegeben wird, wenn der Web-Server gestartet wird es als „Router“ Skript behandelt wird. Das Skript wird zu Beginn jeder HTTP-Anfrage ausgeführt. Wenn dieses Skript FALSE zurückgibt, wird die angeforderte Ressource unverändert zurückgegeben.
aus der Dokumentation über die PHP Built-in webserver
Mit anderen Worten: Sie kehren false
in Ihrem Router-Skript, so dass die integrierten Webserver kann statische Dateien dienen. Beispiel aus der Dokumentation:
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
echo "<p>Welcome</p>";
}
Die Sache ist, dass ich dieses Verhalten zu einem Web-Framework hinzufügen bin versucht: Ich möchte nicht, dass in index.php
schreiben. Ich würde diese Logik lieber in eine Klasse (Middleware) einkapseln, die die Ausführung des Skripts stoppt, wenn php_sapi_name() == 'cli-server'
und ein statisches Asset gefragt wird.
Ich weiß jedoch nicht, wie ich das ganze PHP-Skript false
aus einer Klasse oder Funktion zurückgeben kann, da return false
offensichtlich von der aktuellen Methode/Funktion/Datei und nicht von der Hauptdatei zurückkommt.
Gibt es eine Möglichkeit, das gleiche Verhalten zum Beispiel mit exit()
zu erreichen? Ich weiß, ich weiß nicht einmal, was return false
in der Hauptdatei eigentlich bedeutet (ist das ein bestimmter Exit-Code?).
@Terminus 'return false' hat eine besondere Bedeutung für PHP integrierten Server finden Sie in der Dokumentation I zitiert. –