Exemplu de static în OOP în PHP
Să presupunem că avem următoarea clasă User:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Să facem ca această clasă să numere
numărul de obiecte ale sale. Pentru aceasta, vom crea
o proprietate statică count. Inițial
îi vom atribui valoarea 0, iar la crearea
fiecărui obiect nou vom crește
această valoare cu 1.
Vom crește valoarea contorului nostru în constructorul obiectului:
<?php
class User
{
public static $count = 0; // contor de obiecte
public $name;
public function __construct($name)
{
$this->name = $name;
// Creștem contorul la crearea obiectului:
self::$count++;
}
}
?>
Să verificăm dacă totul funcționează:
<?php
$user1 = new User('user1');
echo User::$count; // va afișa 1
$user2 = new User('user2');
echo User::$count; // va afișa 2
?>
Faceți contorul nostru privat. Fie ca valoarea lui să poată fi obținută cu ajutorul unei metode speciale.