So verwenden Sie Namespaces in PHP

清浅
Freigeben: 2023-04-05 06:00:01
Original
5427 Leute haben es durchsucht

Namespace in PHP ist eine Möglichkeit, Codekonflikte zu lösen, die durch die Verwendung derselben Klasse oder Methode verursacht werden. Fügen Sie PHP-Code mit dem Namespace-Befehl in einen Namespace ein. Wenn Sie eine Klasse aufrufen möchten, müssen Sie zuerst den Namespace

aufrufen. Wenn wir ein PHP-Programm schreiben, werden wir feststellen, dass das Programm fehlschlägt, weil es eine Klasse oder Methode mit demselben Namen gibt. Der Namespace in PHP kann uns jedoch bei der Lösung des Codekonfliktproblems helfen. Als Nächstes stellen wir im Artikel detailliert vor, wie der Namespace-Code verwendet wird

So verwenden Sie Namespaces in PHP

[Empfohlener Kurs: PHP-Tutorial]

Im folgenden Beispiel gibt es zwei Dateien, eine Demo.php und einen Index .php, die beiden Dateien befinden sich im selben Verzeichnis; schreiben Sie den Namespace und die Demo-Klasse in die Datei Demo.php, und index.php ruft das „Ausgabeergebnis“ im folgenden Beispiel auf Der Browser greift auf index.php zu.

Demo.php-Dateicode

<?php
namespace DemoNameSpace;
 
class Demo {
    private $mysqlHandle;
 
    public function __construct() {
        echo &#39;This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is &#39;.__NAMESPACE__;
    }
}
?>
Nach dem Login kopieren

index.php-Dateicode

<?php
    include &#39;Demo.php&#39;;
    use DemoNameSpace\Demo;
    $DemoObj = new Demo();
?>
Nach dem Login kopieren

Ausgabeergebnis:

“This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is DemoNameSpace”
Nach dem Login kopieren

Erläuterung des obigen Beispiels: Es gibt eine magische Konstante _NAMESPACE__ in Demo.php; „Sie enthält die Zeichenfolge des aktuellen Namespace-Namens. Im globalen Code, der in keinem Namespace enthalten ist, enthält er ein Leerzeichen string. „

Demo.php ändert sich nicht, ändern Sie die Datei index.php

<?php
    include &#39;Demo.php&#39;;
    $Demo = new Demo();
?>
Nach dem Login kopieren

Ausgabeergebnis:

“Fatal error: Class &#39;Demo&#39; not found in F:\JJserver\demo\index.php on line 4”
Nach dem Login kopieren

Dies ist eine häufige Meldung „schwerwiegender Fehler“. Gemäß den herkömmlichen PHP-Programmierideen sollte die Ausgabe hier mit der obigen Ausgabe übereinstimmen, aber hier liegt ein schwerwiegender Fehler vor. Aber wenn wir die Anweisung „namespace DemoNameSpace;“ in der Datei Demo.php entfernen (oder auskommentieren), wird es normal. Dies ist die gebräuchlichste Art, Klassen zu schreiben und Klassen aufzurufen.

Zusammenfassung:

Vergleicht man die beiden Ausgabesituationen der Verwendung eines Namespace und der Nichtverwendung eines Namespace und fügt zum Verständnis die Definition des Namespace hinzu, ist die obige schwerwiegende Fehlersituation sehr gut Habe es. In Demo.php wird ein Namespace definiert, dh nach dem Namespace wird die Demo-Klasse definiert und dann wird die Demo-Klasse mit dem DemoNameSpace-Namespace zusammengeführt. Wenn Sie also diese Demo-Klasse aufrufen möchten, müssen Sie zuerst diesen DemoNameSpace aufrufen Namespace, das heißt, verwenden Sie die Anweisung „useDemoNameSpaceDemo“ in der Datei index.php

[Verwandte Empfehlungen: Der Namespace in PHP ist What


Das obige ist der detaillierte Inhalt vonSo verwenden Sie Namespaces in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!