Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Namespace: Detaillierte Erklärung von Aliasen und Importinstanzen

PHP-Namespace: Detaillierte Erklärung von Aliasen und Importinstanzen

伊谢尔伦
伊谢尔伦Original
2017-05-19 15:04:121944Durchsuche

Aliasing und Importieren kann als Abkürzung zum Aufrufen eines Namespace angesehen werden. Eine wichtige Funktion von Namespaces besteht darin, dass externe, vollständig qualifizierte Namen über Aliase referenziert oder importiert werden können. Dies ähnelt in etwa der Art und Weise, wie Sie Softlinks zu anderen Dateien oder Verzeichnissen in einem Linux-Dateisystem erstellen können. Im vorherigen Kapitel wurde die Terminologie erläutert, die Sie über die drei Namen des Raums im Namespace kennen müssen: unqualifizierter Name, qualifizierter Name und vollständig qualifizierter Name . Nur wenn wir diese drei Namen und Begriffe zunächst verstehen, können wir die Namensraum-Aliase und importierten Inhalte besser lernen und verstehen.

Der PHP-Namensraum unterstützt zwei Alias- oder Importmethoden:

verwendet Aliase als Klassennamen oder Aliase für den Namensraumnamen . Beachten Sie, dass PHP Funktionen oder Konstanten importiert. In PHP werden Aliase durch den Operator use implementiert.

Das Folgende ist ein Beispielcode, der alle möglichen Importmethoden verwendet:

<?php
namespace cn\my;  //声明命名空间 cn\my
class User{ }     // 当前空间下声明一个类
namespace shop;   // 在创建一个空间
use cn\my;        //导入一个命名空间
$my_User = new my\User();    //导入命名空间后可使用限定名称调用元素
use cn\my as u;            //命名空间使用别名
$my_User = new u\User();   //使用别名代替空间名
use cn\my\User;              //导入一个类
$my_User = new User();       //导入类后可使用非限定名称调用元素
use cn\my\User as myUser;   // 为类使用别名
$my_User = new myUser();   //使用别名代替空间名
?>

Es ist zu beachten, dass bei Verwendung von „use“ zum Importieren der aktuelle Platz „Für Elemente“ ist mit demselben Namen wird ein schwerwiegender Fehler auftreten.

Der Code lautet wie folgt:

<?php
namespace cn\my;
class User{ }
namespace shop;
class User{ }
class myUser{ }
//导入一个类
use cn\my\User;
// 与当前空间的 User 发生冲突,产生致命错误
$my_user = new User();
// 为类使用别名
use cn\my\User as myUser;
// 与当前空间 myUser 发生冲突,产生致命错误
$my_user = new myUser();
?>

Zusätzlich zur Verwendung von Aliasen und Importen können Sie auch die Namespace-Schlüsselwörter und __ übergeben Magische Konstante NAMESPACE__Dynamischer Zugriff auf Elemente. Das Schlüsselwort namespace stellt den aktuellen Raum dar, und der Wert der magischen Konstante __NAMESPACE__ ist der Name des aktuellen Raums. __NAMESPACE__ kann durch Kombinieren von Zeichenfolgen dynamisch aufgerufen werden.

Der Beispielcode lautet wie folgt:

<?php
namespace cn\my;  //声明命名空间 cn\my
const PATH = &#39;cn\my&#39;;
class User{ }     // 当前空间下声明一个类
echo namespace\PATH;   //namespace 关键字表示当前空间 cn\my
$User = new namespace\User(); //使用namespace代替 \cn\my
echo __NAMESPACE__;    //魔法常量的值是当前空间名称 cn\my
$User_class =  __NAMESPACE__ . &#39;\User&#39;;  //组合称字符串并调用
$User = new $User_class;
?>

Im obigen Beispiel eines dynamischen Aufrufs ist die Dynamik in Zeichenfolgenform Bei der aufrufenden Methode ist zu beachten, dass Sonderzeichen bei der Verwendung von doppelten Anführungszeichen maskiert werden können. Beispielsweise wird in „__NAMESPACE__. „Benutzer““ „Benutzer“ in der Zeichenfolge mit doppelten Anführungszeichen maskiert. Darüber hinaus ermittelt PHP beim Kompilieren des Skripts den Speicherplatz, in dem sich das Element befindet, und den Importstatus. Beim Parsen des Skripts können Aufrufe in Form von Zeichenfolgen nur als unqualifizierte Namen und vollständig qualifizierte Namen betrachtet werden, niemals jedoch als qualifizierte Namen.

Das Obige ist eine Einführung in den PHP-Namespace: Aliase und Importe. Freunde müssen den Code mehr üben und verwenden. Kenntnisse im PHP-Namespace sind eine große Hilfe für die Entwicklung mit dem PHP-Framework.

【Empfohlene verwandte Tutorials】

1. "php.cn Dugu Jiujian (4) - PHP-Video-Tutorial

2.

PHP5.6-Erweiterung des Namespace: Verwendung kann Funktionen und konstante Leerzeichen importieren

3

Eine vollständige Reihe von Tutorials zur PHP-Programmierung vom Einstieg bis zur Beherrschung

Das obige ist der detaillierte Inhalt vonPHP-Namespace: Detaillierte Erklärung von Aliasen und Importinstanzen. 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