Zasebne metode v OOP v PHP
Zasebne so lahko ne le lastnosti, ampak tudi metode. Običajno so zasebne pomožne metode, da jih po naključju ne bi bilo mogoče klicati izven razreda.
Poglejmo si na primeru. Recimo, da imamo naslednji razred:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Naredimo v tem razredu zasebno metodo, ki bo parameter sprejela niz in naredila veliko začetnico prvega znaka:
<?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);
}
}
?>
Uporabimo našo pomožno metodo znotraj druge metode:
<?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);
}
}
?>
Preverimo. Ustvarimo objekt našega razreda:
<?php
$user = new User('john');
?>
Pokličimo javno metodo, ki uporablja pomožno:
<?php
echo $user->show();
?>
V naslednji kodi naredite pomožno metodo zasebno:
<?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 . '
;
}
}
?>