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 класса учун
учта хусусий свойства яратинг: исм, маош
ва ёш.
Конструкторга параметр сифатида ушбу свойстваларнинг қийматларини беринг.
Ҳар бир свойствамизнинг қийматини чиқарувчи геттерлар яратинг.