Beispiel für static in OOP in PHP
Angenommen, wir haben folgende Klasse User:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Lassen Sie uns diese Klasse so modifizieren, dass sie
die Anzahl ihrer Objekte zählt. Dazu erstellen wir eine
statische Eigenschaft count. Initial
weisen wir ihr den Wert 0 zu, und bei der Erstellung
jedes neuen Objekts erhöhen wir
diesen Wert um 1.
Wir werden den Wert unseres Zählers im Konstruktor des Objekts erhöhen:
<?php
class User
{
public static $count = 0; // Objektzähler
public $name;
public function __construct($name)
{
$this->name = $name;
// Zähler bei Objekterstellung erhöhen:
self::$count++;
}
}
?>
Prüfen wir, ob alles funktioniert:
<?php
$user1 = new User('user1');
echo User::$count; // gibt 1 aus
$user2 = new User('user2');
echo User::$count; // gibt 2 aus
?>
Machen Sie unseren Zähler privat. Sein Wert soll über eine spezielle Methode abrufbar sein.