PHP да ООП да Хусусий методлар
Хусусий бўлиши фақат хусусиятларгина эмас, балки методлар ҳам. Одатда хусусий қилиб ёрдамчи методларни қўйилади, шунда улар ташқаридан чақирилиб қолмаслиги учун.
Келгила, мисолда кўрамиз. Фарз қилайлик, бизда куйидаги класс бор:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Ушбу классда хусусий метод ясайлик, у параметр сифатида сатрни қабул қилиб унинг биринчи белгисини бош ҳарф қилиб берсин:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
private function cape($str) {
return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
}
}
?>
Ёрдамчи методимиздан бошқа метод ичида фойдаланамиз:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->cape($this->name);
}
private function cape($str) {
return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
}
}
?>
Келгила, текширамиз. Классимизнинг объектини ясаймиз:
<?php
$user = new User('john');
?>
Ёрдамчи методдан фойдаланувчи оммавий методни чақирамиз:
<?php
echo $user->show();
?>
Куйидаги кодда ёрдамчи методни хусусий қилинг:
<?php
class Employee {
public function __construct($name, $salary) {
$this->name = $name;
$this->salary = $salary;
}
public function getSalary() {
return $this->addSign($this->salary);
}
public function addSign($num) {
return $num . '
;
}
}
?>