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

Was ist die Verwendung von use in PHP?

angryTom
angryTomOriginal
2019-08-24 09:39:0211182Durchsuche

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();

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;

entspricht

use animal\dog as dog;

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();

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

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();

Wie oben, mit

 use animal\dog;
  cat

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!

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