Egenskabs getters i OOP i PHP
Lad os sige at vi har følgende klasse med private egenskaber:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Som du kan se, bliver disse egenskaber sat én gang ved oprettelse af objektet. Lige nu er det dog umuligt at læse disse egenskaber, da de er private og der ikke er tilsvarende metoder til dette.
Lad os lave specielle metoder for vores egenskaber
der gør det muligt at læse disse egenskaber.
Sådanne metoder (som kaldes getters)
starter normalt med ordet get, efterfulgt af
navnet på den egenskab der skal læses.
Lad os lave getters for vores egenskaber:
<?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;
}
}
?>
Lad os teste deres funktion. Lad os oprette et objekt, og ved parameter sende brugerdata:
<?php
$user = new User('john', 'smit');
?>
Lad os læse disse data ved at bruge getters:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
I klassen Employee skal du lave
tre private egenskaber: navn, løn
og alder.
Send værdierne for disse egenskaber via konstruktørens parameter.
Lav getters, der viser værdierne for hver af vores egenskaber.