Private Methoden in OOP in PHP
Nicht nur Eigenschaften können privat sein, sondern auch Methoden. In der Regel werden Hilfsmethoden privat gemacht, damit sie nicht versehentlich von außerhalb der Klasse aufgerufen werden können.
Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Klasse:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Erstellen wir in dieser Klasse eine private Methode, die einen String als Parameter entgegennimmt und das erste Zeichen großschreibt:
<?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);
}
}
?>
Verwenden wir unsere Hilfsmethode in einer anderen 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);
}
}
?>
Lassen Sie uns das überprüfen. Erstellen wir ein Objekt unserer Klasse:
<?php
$user = new User('john');
?>
Rufen wir die öffentliche Methode auf, die die Hilfsmethode verwendet:
<?php
echo $user->show();
?>
Machen Sie im folgenden Code die Hilfsmethode privat:
<?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 . '
;
}
}
?>