Геттерҳои хусусиятҳо дар ООП дар PHP
Бигзор мо синфи зеринро бо хусусиятҳои хусусӣ дошта бошем:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Чунон ки шумо мебинед, ин хусусиятҳо як маротиба дар вақти сохтани объект таъин карда мешаванд. Акнун, аммо, хондани ин хусусиятҳо имконнопазир аст, зеро онҳо хусусӣ мебошанд ва методҳои мувофиқ барои ин вуҷуд надоранд.
Биёед барои хусусиятҳои мо методҳои махсус созем,
ки имкон медиҳанд ин хусусиятҳоро хонанд.
Чунин методҳо (онҳоро геттер меноманд) одатан
бо калимаи get оғоз мешаванд, ва сипас номи
хусусияти хондашаванда меояд.
Биёед геттерҳои хусусиятҳои моро созем:
<?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;
}
}
?>
Биёед кори онҳоро санҷем. Объектеро созем, параметрҳоро гузашта, додаҳои корбарро бидиҳем:
<?php
$user = new User('john', 'smit');
?>
Ин додаҳоро хонем, истифода бурда аз геттерҳо:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
Дар синфи Employee се
хусусияти хусусӣ созед: ном, маош
ва синну сол.
Қиматҳои ин хусусиятҳоро параметрҳои конструктор гузаронед.
Геттерҳое созед, ки қиматҳои ҳар яке аз хусусиятҳои моро чоп кунанд.