Príklad na static v OOP v PHP
Majme takúto triedu User:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Urobme to tak, aby táto trieda počítala
počet svojich objektov. Na to vytvoríme
statickú vlastnosť count. Spočiatku
do nej zapíšeme hodnotu 0 a pri vytvorení
každého nového objektu budeme túto
hodnotu zvyšovať o 1.
Hodnotu nášho počítadla budeme zvyšovať v konštruktore objektu:
<?php
class User
{
public static $count = 0; // počítadlo objektov
public $name;
public function __construct($name)
{
$this->name = $name;
// Zvyšujeme počítadlo pri vytvorení objektu:
self::$count++;
}
}
?>
Skontrolujme, že všetko funguje:
<?php
$user1 = new User('user1');
echo User::$count; // vypíše 1
$user2 = new User('user2');
echo User::$count; // vypíše 2
?>
Urobte naše počítadlo privátnym. Hodnotu z neho nech je možné získať pomocou špeciálnej metódy.