Pavyzdys su static OOP PHP
Tarkime, kad turime šią User klasę:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Padarykime taip, kad ši klasė skaičiuotų
savo objektų kiekį. Tam padarykime
statinę savybę count. Pradžioje
įrašykime į ją reikšmę 0, o kuriant
kiekvieną naują objektą, didinkime
šią reikšmę vienetu 1.
Objekto konstruktoriuje didinsime mūsų skaitiklio reikšmę:
<?php
class User
{
public static $count = 0; // objektų skaitiklis
public $name;
public function __construct($name)
{
$this->name = $name;
// Didiname skaitiklį kuriant objektą:
self::$count++;
}
}
?>
Patikrinkime, ar viskas veikia:
<?php
$user1 = new User('user1');
echo User::$count; // išves 1
$user2 = new User('user2');
echo User::$count; // išves 2
?>
Padarykite mūsų skaitiklį privatų. Tegul jo reikšmę galima gauti naudojant specialųjį metodą.