Analysieren Sie die Prinzipien und die Verwendung des Trait-Mechanismus in PHP

青灯夜游
Freigeben: 2023-04-08 14:44:01
nach vorne
2986 Leute haben es durchsucht

In diesem Artikel werden die Prinzipien und die Verwendung des Trait-Mechanismus in PHP analysiert. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Analysieren Sie die Prinzipien und die Verwendung des Trait-Mechanismus in PHP

Trait-Einführung:

1 Seit PHP5.4 hat PHP eine Code-Wiederverwendungsmethode namens Trait implementiert.

2. Trait ist ein Code-Wiederverwendungsmechanismus, der für Sprachen mit einfacher Vererbung wie PHP vorbereitet ist.

3. Um die Einschränkungen einer einzelnen Vererbungssprache zu verringern, ermöglicht Trait Entwicklern die freie Wiederverwendung von Methoden in unabhängigen Klassen in verschiedenen Hierarchien.

4. Trait realisiert die Wiederverwendung von Code und durchbricht die Einschränkung der Einzelvererbung.

5. Trait ist eine Klasse, die jedoch nicht instanziiert werden kann.

6. Wenn die Methoden in der Klasse den gleichen Namen haben, hat die aktuelle Klasse>Merkmal>übergeordnete Klasse;

7. Wenn die Methoden mehrerer Merkmalsklassen den gleichen Namen haben , müssen Sie den Zugriff angeben, der andere Methoden aliasiert.

Beispiel:

trait Demo1{
 public function hello1(){
  return __METHOD__;
 }
}
trait Demo2{
 public function hello2(){
  return __METHOD__;
 }
}
class Demo{
 use Demo1,Demo2;//继承Demo1和Demo2
 public function hello(){
  return __METHOD__;
 }
 public function test1(){
  //调用Demo1的方法
  return $this->hello1();
 }
 public function test2(){
  //调用Demo2的方法
  return $this->hello2();
 }
}
$cls = new Demo();
echo $cls->hello();
echo "<br>";
echo $cls->test1();
echo "<br>";
echo $cls->test2();
Nach dem Login kopieren

Laufendes Ergebnis:

Demo::hello
Demo1::hello1
Demo2::hello2
Nach dem Login kopieren

Mehrere Merkmalsmethoden mit demselben Namen:

trait Demo1{
 public function test(){
  return __METHOD__;
 }
}
trait Demo2{
 public function test(){
  return __METHOD__;
 }
}
class Demo{
 use Demo1,Demo2{
  //Demo1的hello替换Demo2的hello方法
  Demo1::test insteadof Demo2;
  //Demo2的hello起别名
  Demo2::test as Demo2test;
 }
 public function test1(){
  //调用Demo1的方法
  return $this->test();
 }
 public function test2(){
  //调用Demo2的方法
  return $this->Demo2test();
 }
}
$cls = new Demo();
echo $cls->test1();
echo "<br>";
echo $cls->test2();
Nach dem Login kopieren

Laufergebnis:

Demo1::test
Demo2::test
Nach dem Login kopieren

Weitere Informationen zu diesem Thema finden Sie auf der PHP-Chinese-Website! !

Das obige ist der detaillierte Inhalt vonAnalysieren Sie die Prinzipien und die Verwendung des Trait-Mechanismus in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
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