Privaatmetodes in OOP in PHP
Nie net eienskappe kan privaat wees nie, maar ook metodes. Gewoonlik word hulpmetodes privaat gemaak sodat hulle nie per ongeluk van buite die klas afgeroep kan word nie.
Kom ons kyk na 'n voorbeeld. Laat ons sê ons het die volgende klas:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Kom ons maak 'n privaat metode in hierdie klas, wat 'n string as parameter sal aanvaar en die eerste karakter daarvan hoofletters sal maak:
<?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);
}
}
?>
Kom ons gebruik ons hulpmiddelmetode binne 'n ander 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);
}
}
?>
Kom ons toets. Skep 'n objek van ons klas:
<?php
$user = new User('john');
?>
Roep die publieke metode op, wat die hulpmiddelmetode gebruik:
<?php
echo $user->show();
?>
Maak die hulpmiddelmetode in die volgende kode privaat:
<?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 . '
;
}
}
?>