Privātās metodes OOP PHP
Privātas var būt ne tikai īpašības, bet arī metodes. Parasti privātas padara palīgmetodes, lai tās nejauši nevarētu izsaukt ārpus klases.
Apskatīsim piemērā. Pieņemsim, ka mums ir šāda klase:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Izveidosim šajā klasē privātu metodi, kura parametru pieņems virkni un padarīs lielo burtu tās pirmo simbolu:
<?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);
}
}
?>
Izmantosim mūsu palīgmetodi citas metodes iekšienē:
<?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);
}
}
?>
Pārbaudīsim. Izveidosim mūsu klases objektu:
<?php
$user = new User('john');
?>
Izsauksim publisko metodi, kura izmanto palīgmetodi:
<?php
echo $user->show();
?>
Nākamajā kodā padariet palīgmetodi privātu:
<?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 . '
;
}
}
?>