PHP ist eine serverseitige Skriptsprache, die in der Webentwicklung weit verbreitet ist. Die Version PHP 8.0 führt eine neue Aufrufsyntax für übergeordnete Klassen ein, wodurch die objektorientierte Programmierung bequemer und prägnanter wird.
In PHP können wir durch Vererbung eine übergeordnete Klasse und eine oder mehrere Unterklassen erstellen. Unterklassen können die Eigenschaften und Methoden der übergeordneten Klasse erben und ihre Funktionalität ändern oder erweitern, indem sie die Methoden der übergeordneten Klasse überschreiben.
Wenn wir bei der normalen PHP-Vererbung die Methode der übergeordneten Klasse in der untergeordneten Klasse aufrufen möchten, müssen wir das Schlüsselwort parent verwenden, um auf die Methode der übergeordneten Klasse zu verweisen:
class ParentClass { public function parentMethod() { echo "Hello from parent method "; } } class ChildClass extends ParentClass { public function childMethod() { parent::parentMethod(); //使用parent关键字来引用父类方法 echo "Hello from child method "; } } $obj = new ChildClass(); $obj->childMethod(); //输出 Hello from parent method 和 Hello from child method
Im obigen Code die Methode child ()-Methode verwendet parent::parentMethod(), um die parentMethod()-Methode in ParentClass aufzurufen und die Zeichenfolge „Hallo von der untergeordneten Methode“ am Ende der Methode auszugeben.
In PHP 8.0 können wir eine prägnantere Syntax verwenden, um Methoden übergeordneter Klassen aufzurufen. Die neue Syntax verwendet das Schlüsselwort static anstelle des Schlüsselworts parent, zum Beispiel:
class ParentClass { public static function parentMethod() { echo "Hello from parent method "; } } class ChildClass extends ParentClass { public function childMethod() { static::parentMethod(); //使用static关键字代替parent关键字来引用父类方法 echo "Hello from child method "; } } $obj = new ChildClass(); $obj->childMethod(); //输出 Hello from parent method 和 Hello from child method
Im obigen Code wird die Methode parentMethod() zu einer statischen Methode. Wir können die Methode parentMethod() der übergeordneten Klasse aufrufen, indem wir static verwenden: :parentMethod() . Diese neue Syntax kann den Code klarer und leichter lesbar machen und auch einige Probleme bei der Codewartung vermeiden, da wir uns nicht über Klassennamen in der Vererbungshierarchie Gedanken machen müssen.
Neben der Verwendung statischer Methoden können wir diese neue Syntax auch an anderen Stellen verwenden. Beispielsweise verwenden wir in API-Aufrufen eine Struktur aus Merkmalen und Schnittstellen, um Funktionen ähnlich der Mehrfachvererbung zu implementieren. In diesem Fall kann die Verwendung dieser neuen Syntax die Codeabsicht klarer ausdrücken:
interface ParentInterface { public function parentMethod(); } trait ParentTrait { public function parentMethod() { echo "Hello from parent trait method "; } } class ChildClass implements ParentInterface { use ParentTrait; public function childMethod() { static::parentMethod(); //使用新语法来调用父类trait中的方法 echo "Hello from child method "; } } $obj = new ChildClass(); $obj->childMethod(); //输出 Hello from parent trait method 和 Hello from child method
In diesem Beispiel definieren wir ein ParentInterface und ein ParentTrait. Diese beiden Strukturen bestehen aus der Implementierung von ChildClass (verwenden). Eine Struktur, die der Mehrfachvererbung ähnelt . Dann verwenden wir in childMethod() von ChildClass die neue Syntax, um die parentMethod()-Methode in ParentTrait aufzurufen. Dieser Ansatz macht den Code prägnanter und verständlicher.
Zusammenfassend lässt sich sagen, dass wir in PHP 8.0 die neue Aufrufsyntax der übergeordneten Klasse verwenden können, dh das Schlüsselwort static anstelle des Schlüsselworts parent verwenden, um den Aufruf der Methode der übergeordneten Klasse klarer und prägnanter auszudrücken. Diese Funktion kann in vielen Szenarien dazu führen, dass Code besser lesbar und verständlicher wird. Für PHP-Entwickler ist es von entscheidender Bedeutung, diese neue Funktion zu verstehen und zu beherrschen.
Das obige ist der detaillierte Inhalt vonAufrufsyntax der übergeordneten Klasse in PHP8.0. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!