So verwenden Sie den PHP-Namespace

php中世界最好的语言
Freigeben: 2023-03-22 07:24:01
Original
1833 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie Sie PHP-Namespace verwenden und welche Vorsichtsmaßnahmen bei der Verwendung von PHP-Namespace gelten. Das Folgende ist ein praktischer Fall, schauen wir uns das an.

Die Beispiele in diesem Artikel beschreiben die PHP-NamespaceNamespace-Definition und Importverwendung. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

In PHP sind Funktionen oder Klassen mit demselben Namen nicht zulässig. Um wiederholte Konflikte in Klassennamen oder Funktionsnamen zu verhindern, die von Programmierern im Projekt definiert wurden , wurde das Konzept des Namespace in PHP5.3 eingeführt.

1. Namespace, das heißt, die Aufteilung des Codes in verschiedene Räume ist unabhängig voneinander und steht nicht in Konflikt miteinander. In einer PHP-Datei können mehrere Namespaces vorhanden sein, und vor dem ersten Namespace darf kein Code stehen. Der Code nach der Inhaltsraumdeklaration gehört zu diesem Namensraum , zum Beispiel:

<?php
echo 111;  //由于namespace前有代码而报错
namespace Teacher;
class Person{
  function construct(){
   echo &#39;Please study!&#39;;
  }
}
Nach dem Login kopieren

2. Beim Aufrufen von Klassen oder Methoden in unterschiedlichen Räumen muss der Namensraum angegeben werden. Zum Beispiel:

<?php
namespace Teacher;
class Person{
  function construct(){
   echo &#39;Please study!<br/>';
  }
}
function Person(){
  return 'You must stay here!';
};
namespace Student;
class Person{
  function construct(){
   echo 'I want to play!<br/>';
  }
}
new Person();     //本空间(Student空间)
new \Teacher\Person();   //Teacher空间
new \Student\Person();   //Student空间
echo \Teacher\Person();   //Teacher空间下Person函数
Nach dem Login kopieren

Ausgabe:

I want to play!
Please study!
I want to play!
You must stay here!
Nach dem Login kopieren

3. Das Einführen anderer Dateien in den Namespace gehört nicht zu diesem Namespace, sondern zum öffentlichen Raum oder Der in der Datei selbst definierte Namespace. Beispiel:

Definieren Sie zunächst eine 1.php- und eine 2.php-Datei:

<?php  //1.php
class Person{
 function construct(){
   echo 'I am one!<br/>';
  }
}
Nach dem Login kopieren
<?php
namespace Newer;
require_once './1.php';
new Person();  //报错,找不到Person;
new \Person();  //输出 I am tow!;
Nach dem Login kopieren
<?php  //2.php
namespace Two
class Person{
 function construct(){
   echo 'I am tow!<br/>';
  }
}
Nach dem Login kopieren
<?php
namespace New;
require_once './2.php';
new Person();  //报错,(当前空间)找不到Person;
new \Person();  //报错,(公共空间)找不到Person;
new \Two\Person(); //输出 I am tow!;
Nach dem Login kopieren

4 unten So verwenden Sie: (nach der Verwendung bezieht sich auf und kann abgekürzt werden)

namespace School\Parents;
class Man{
  function construct(){
   echo 'Listen to teachers!<br/>';
  }
}
namespace School\Teacher;
class Person{
  function construct(){
   echo 'Please study!<br/>';
  }
}
namespace School\Student;
class Person{
  function construct(){
   echo 'I want to play!<br/>';
  }
}
new Person();     //输出I want to play!
new \School\Teacher\Person(); //输出Please study!
new Teacher\Person();   //报错
----------
use School\Teacher;
new Teacher\Person();   //输出Please study!
----------
use School\Teacher as Tc;
new Tc\Person();   //输出Please study!
----------
use \School\Teacher\Person;
new Person();   //报错
----------
use \School\Parent\Man;
new Man();   //报错
Nach dem Login kopieren

Ich glaube, Sie haben die Methode gemeistert, nachdem Sie den Fall in diesem Artikel gelesen haben. Für weitere spannende Informationen achten Sie bitte auf andere php-chinesische Websites. Verwandte Artikel!

Empfohlene Lektüre:

PHP implementiert direkt die Generierung von Plakatwerbung

PHP ermittelt, ob WeChat oder Browser geöffnet ist

So fragen Sie verschiedene Datenbanken mit einer SQL-Anweisung ab

JS erhält das erste Element im Auswahl-Dropdown-Feld Wert

Das obige ist der detaillierte Inhalt vonSo verwenden Sie den PHP-Namespace. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage