Getters pentru proprietăți în OOP în PHP
Să presupunem că avem următoarea clasă cu proprietăți private:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
După cum vedeți, aceste proprietăți sunt setate o singură dată la crearea obiectului. În momentul de față, însă, aceste proprietăți nu pot fi citite, deoarece sunt private și nu există metode corespunzătoare pentru aceasta.
Să creăm pentru proprietățile noastre metode speciale
care permit citirea acestor proprietăți.
Asemenea metode (numite getters) de obicei
încep cu cuvântul get, urmat de
numele proprietății care se citește.
Să creăm getters pentru proprietățile noastre:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
Să verificăm funcționarea lor. Să creăm un obiect, transmitând ca parametru datele utilizatorului:
<?php
$user = new User('john', 'smit');
?>
Să citim aceste date, folosind getters:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
În clasa Employee creați
trei proprietăți private: nume, salariu
și vârstă.
Transmiteți prin constructor valorile acestor proprietăți.
Creați getters care afișează valorile fiecăreia dintre proprietățile noastre.