⊗ppOpMgGNE 90 of 107 menu

Lesen einer nicht vorhandenen Eigenschaft in OOP in PHP

Im Beispiel aus der vorherigen Lektion haben wir die Magie der Methode __get verwendet, um den Zugriff auf private Eigenschaften abzufangen. Tatsächlich kann diese Methode auch nützlich sein, um Zugriffe auf nicht vorhandene Eigenschaften abzufangen.

Betrachten wir ein praktisches Beispiel. Angenommen, wir haben eine Klasse User mit einem Vornamen und einem Nachnamen, die öffentliche Eigenschaften sind:

<?php class User { public $surn; public $name; } ?>

Lassen Sie uns den Objekt der Klasse so verhalten, als ob es auch eine Eigenschaft full gäbe, die den Vor- und Nachnamen des Users ausgibt. Verwenden wir dafür unsere magische Methode __get:

<?php class User { public $surname; public $name; public $patronymic; public function __get($property) { if ($property == 'full') { return $this->surn . ' ' . $this->name; } } } ?>

Prüfen wir:

<?php $user = new User; $user->surn = 'john'; $user->name = 'smit'; echo $user->full; // gibt 'john smit' aus ?>

Erstellen Sie eine Klasse Date mit den öffentlichen Eigenschaften year, month und day. Erstellen Sie mithilfe der Magie eine Eigenschaft weekDay, die den Wochentag zurückgibt, der dem Datum entspricht.

bydeenesfrptru