⊗ppOpBsGSA 14 of 107 menu

Vorteile von Settern und Gettern in OOP in PHP

In der vorherigen Lektion haben wir für jede Eigenschaft einen Getter und Setter erstellt. Es könnte die Frage aufkommen, wozu solche Kompliziertheiten nötig sind, denn denselben Effekt könnte man doch erreichen, wenn man die Eigenschaften öffentlich macht, anstatt privat.

Die Sache ist die, dass Getter und Setter einen Vorteil haben: vor dem Zugriff auf eine Eigenschaft können einige Überprüfungen durchgeführt werden. In unserem Fall können wir beispielsweise beim Schreiben des Vor- und Nachnamens prüfen, dass der neue Wert kein leerer String ist:

<?php class User { private $name; private $surn; public function setName($name) { if (strlen($name) > 0) { $this->name = $name; } else { echo 'name is incorrect'; } } public function setSurn($surn) { if (strlen($surn) > 0) { $this->surn = $surn; } else { echo 'surn is incorrect'; } } public function getName() { return $this->name; } public function getSurn() { return $this->surn; } } ?>

Lassen Sie uns testen, wie das funktioniert. Zuerst erstellen wir ein Objekt der Klasse:

<?php $user = new User(); ?>

Versuchen wir nun, einen korrekten Wert zu schreiben:

<?php $user->setName('john'); ?>

Versuchen wir nun, einen inkorrekten Wert zu schreiben:

<?php $user->setName(''); // Fehler ?>

In der Klasse Employee sollen Sie im Setter für das Alter eine Überprüfung implementieren, dass das Alter zwischen 0 und 120 liegen muss.

In der Klasse Employee sollen Sie im Getter für das Gehalt es so machen, dass beim Auslesen des Gehalts an das Ende seines Wertes ein Dollarzeichen angehängt wird.

bydeenesfrptru