Näide static kasutamisest OOP-s PHP-s
Oletame, et meil on selline klass User:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Teeme nii, et see klass loendaks
oma objektide arvu. Selleks teeme
staatilise omaduse count. Algselt
paneme sinna väärtuse 0 ja iga uue
objekti loomisel suurendame
seda väärtust 1 võrra.
Suurendame oma loenduri väärtust objekti konstruktoris:
<?php
class User
{
public static $count = 0; // objektide loendur
public $name;
public function __construct($name)
{
$this->name = $name;
// Suurendame loendurit objekti loomisel:
self::$count++;
}
}
?>
Kontrollime, et kõik töötab:
<?php
$user1 = new User('user1');
echo User::$count; // väljastab 1
$user2 = new User('user2');
echo User::$count; // väljastab 2
?>
Tehke meie loendur privaatseks. Olgu selle väärtust võimalik saada spetsiaalse meetodi abil.