Privatūs metodai OOP PHP
Privatūs gali būti ne tik savybės, bet ir metodai. Paprastai privatūs daromi pagalbiniai metodai, kad jie netyčia negalėtų būti iškviesti iš klasės išorės.
Pažiūrėkime pavyzdžiu. Tegul mes turime tokią klasę:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Padarykime šioje klasėje privatų metodą, kuris parametru priims eilutę ir padarys didžiąją raide jos pirmąjį simbolį:
<?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);
}
}
?>
Panaudokime savo pagalbinį metodą kito metodo viduje:
<?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);
}
}
?>
Patikrinkime. Sukurkime savo klasės objektą:
<?php
$user = new User('john');
?>
Iškvieskime viešą metodą, naudojantį pagalbinį:
<?php
echo $user->show();
?>
Tolimesniame kode padarykite pagalbinį metodą privatių:
<?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 . '
;
}
}
?>