Privé methoden in OOP in PHP
Niet alleen eigenschappen kunnen privé zijn, maar ook methoden. Meestal worden hulpmethoden privé gemaakt, zodat ze per ongeluk niet van buiten de klas kunnen worden aangeroepen.
Laten we een voorbeeld bekijken. Stel dat we de volgende klasse hebben:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Laten we in deze klasse een privé methode maken, die een string als parameter accepteert en de eerste letter hoofdletter maakt:
<?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);
}
}
?>
Laten we onze hulpmethode gebruiken binnen een andere methode:
<?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);
}
}
?>
Laten we het testen. Laten we een object van onze klasse maken:
<?php
$user = new User('john');
?>
Laten we de publieke methode aanroepen, die de hulpmethode gebruikt:
<?php
echo $user->show();
?>
Maak in de volgende code de hulpmethode privé:
<?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 . '
;
}
}
?>