Getters för egenskaper i OOP i PHP
Låt oss säga att vi har följande klass med privata egenskaper:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Som du ser sätts dessa egenskaper en gång när objektet skapas. Just nu är det dock omöjligt att läsa dessa egenskaper, eftersom de är privata och det inte finns motsvarande metoder för detta.
Låt oss skapa speciella metoder för våra egenskaper
som tillåter läsning av dessa egenskaper.
Sådana metoder (som kallas getters) brukar
börja med ordet get, följt av
namnet på egenskapen som läsas.
Låt oss skapa getters för våra egenskaper:
<?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;
}
}
?>
Låt oss testa deras funktionalitet. Skapa ett objekt, och skicka med användardata som parameter:
<?php
$user = new User('john', 'smit');
?>
Låt oss läsa denna data genom att använda getters:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
I klassen Employee, skapa
tre privata egenskaper: namn, lön
och ålder.
Skicka värdena för dessa egenskaper via konstruktorn som parameter.
Skapa getters som returnerar värdena för var och en av våra egenskaper.