Wenn eine PHP-Datei einen Namespace deklariert und eine Klasse in dieser Datei verwendet, müssen Sie angeben, in welchem Namespace sie sich befindet. Andernfalls wird ein Fehler gemeldet, da die Klasse im aktuellen Bereich und in der PHP-Kernklasse nicht gefunden werden kann kann im aktuellen Bereich nicht gefunden werden, Beispiel:
namespace TestExc; try { throw new Exception('throw exception'); } catch(Exception $ex) { echo $ex->getMessage(); }1234567
Führen Sie den obigen Code aus und der Fehler wird sein:
PHP Fatal error: Class 'TestExc\Exception' not found in /private/var/folders/sr/1sh63qr542x9h61w4t7wrk200000gn/T/CodeRunner/Untitled.php on line 61
Das können Sie auch dem Fehlerbericht entnehmen Obwohl Exception eine PHP-Kernklasse ist, befindet sich das Programm nur im aktuellen Bereich. Es gibt zwei Lösungen:
1. Deklarieren Sie die Ausnahme, die den globalen Bereich verwendet.
use \Exception;
Ausnahme: Deklarieren Sie es als
namespace TestExc; try { throw new \Exception('throw exception'); } catch(\Exception $ex) { echo $ex->getMessage(); }123456
, das den globalen Raum verwendet. Verwandtes Wissen:
Wenn kein Namespace definiert ist, werden alle Klassen und Funktionen im globalen Raum definiert, genau wie vor der Einführung von PHP das Namespace-Konzept. Das Präfix eines Namens zeigt an, dass sich der Name im globalen Raum befindet, auch wenn der Name in einem anderen Namensraum liegt.
Wenn bei Funktionen und Konstanten die Funktion oder Konstante nicht im aktuellen Namensraum vorhanden ist, greift PHP auf die Verwendung der Funktion oder Konstante im globalen Raum zurück.
Die oben genannten Fragen habe ich für Sie zu PHP-Namespace-Fehlern zusammengestellt. Ich hoffe, dass sie Ihnen in Zukunft hilfreich sein werden.
Verwandte Artikel:
Über PHP-Namespace (kombiniert mit Codebeispielen, einfach und leicht zu verstehen)
PHP-Benennung Leerzeichen (ausführliche Antwort kombiniert mit dem Code)
Detaillierte Einführung in den Bereich in PHP kombiniert mit dem Code
Das obige ist der detaillierte Inhalt vonDas Problem der Verwendung von Exception zur Meldung von nicht im PHP-Namespace gefundenen Fehlern wird Ihnen anhand konkreter Beispiele ausführlich erläutert.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!