Voorbeeld van static in OOP in PHP
Stel dat we de volgende klasse User hebben:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Laten we ervoor zorgen dat deze klasse
het aantal van zijn objecten telt. Hiervoor maken we
een statische eigenschap count. Initieel
schrijven we er de waarde 0 in, en bij het creëren
van elk nieuw object verhogen we
deze waarde met 1.
We zullen de waarde van onze teller verhogen in de constructor van het object:
<?php
class User
{
public static $count = 0; // objectteller
public $name;
public function __construct($name)
{
$this->name = $name;
// Verhoog de teller bij het aanmaken van een object:
self::$count++;
}
}
?>
Laten we controleren of alles werkt:
<?php
$user1 = new User('user1');
echo User::$count; // geeft 1 weer
$user2 = new User('user2');
echo User::$count; // geeft 2 weer
?>
Maak onze teller privé. Laat de waarde ervan opgevraagd kunnen worden via een speciale methode.