Heim > Backend-Entwicklung > PHP-Tutorial > Was ist die Verwendung von use in PHP?

Was ist die Verwendung von use in PHP?

angryTom
Freigeben: 2023-04-07 10:16:01
Original
11271 Leute haben es durchsucht

Was ist die Verwendung von use in PHP?

Wenn in PHP die Namespace-Zeichenfolge zu lang ist, verwenden wir use, um den Namespace entsprechend zu kürzen. Dies ist auch die Rolle der Verwendung in PHP. Im Folgenden stellen wir Ihnen die Verwendung von use in PHP vor.

Empfohlene Tutorials: PHP-Video-Tutorial

1 Sie müssen vorne den Rückwärtsgang einlegen. Wenn nach der Verwendung kein „as“ vorhanden ist, wird der verkürzte Namespace standardmäßig auf den Inhalt nach dem letzten Backslash gesetzt.

namespace animal\dog;
class Life{
 function __construct(){
  echo 'dog life!';
 }
}
namespace animal\cat;
class Life{
 function __construct(){
  echo 'cat life!';
 }
}
new Life(); //按照代码执行顺序,这里默认animal\cat这个命名空间
new \animal\dog\Life(); //A
use animal\dog; //a
new dog\Life(); //B
use animal\dog as d; //b
new d\Life();
Nach dem Login kopieren

Beachten Sie beim Vergleich der Zeilen A und B Folgendes:

Nach der Verwendung von use gibt es bei Verwendung der neuen Klasse vorne keinen Backslash.

Wenn use nicht verwendet wird, steht am Anfang des Namespace ein Backslash

Durch den Vergleich der Zeilen a und b können wir Folgendes verstehen:

Wenn kein as vorhanden ist Nach der Verwendung wird er gekürzt. Der Namespace verwendet standardmäßig den Namen, der auf den letzten Backslash folgt. Wie oben:

use animal\dog;
Nach dem Login kopieren

entspricht

use animal\dog as dog;
Nach dem Login kopieren

2. Es wird nicht empfohlen, nach dem Namespace einen Klassennamen hinzuzufügen, aber nach der Verwendung ist es in Ordnung.

//name.php
namespace animal\dog;
class Life{
 function __construct(){
  echo 'dog life!';
 }
}
namespace animal\cat;
class Life{
 function __construct(){
  echo 'cat life!';
 }
}
use animal\dog\Life as dog; 
new dog();
Nach dem Login kopieren

Wie oben gezeigt, entspricht das Hinzufügen des Klassennamens nach der Verwendung einer Änderung des Klassennamens: von Life in Dog.

Wenn Sie oben nicht „as dog“ verwenden, erhalten Sie eine Fehlermeldung:

 Fatal error:  Cannot use animal\dog\Life as Life because the name is already in use
Nach dem Login kopieren

Da es unter cat auch eine Life-Klasse mit demselben Namen gibt.

Es versteht sich, dass die diesem Spitznamen entsprechende Klasse nach der Verwendung nur vom aktuellen Namespace belegt werden kann und diese Klasse nicht in anderen Namespaces existieren darf.

//name.php
namespace animal\dog;
class Life{
 function __construct(){
  echo 'dog life!';
 }
}
class Dog{
 function __construct(){
  echo 'dog in dog!';
 }
}
namespace animal\cat;
// class Dog{
// function __construct(){
//  echo 'dog in cat!';
//  }
// }
class Life{
 function __construct(){
  echo 'cat life!';
 }
}
use animal\dog; 
new dog\Dog();
Nach dem Login kopieren

Wie oben, mit

 use animal\dog;
  cat
Nach dem Login kopieren

Durch den obigen Code ist der Zweck der Verwendung (Verkürzung des Namespace-Namens) offensichtlich.

Um es kurz zusammenzufassen:

Die Verwendung ist ein Spitzname, der sowohl beim Schreiben als auch beim Sprechen viel Ärger ersparen kann.

Das obige ist der detaillierte Inhalt vonWas ist die Verwendung von use 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
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage