Esempio sull'uso di static in OOP in PHP
Supponiamo di avere questa classe User:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Facciamo in modo che questa classe conti
il numero dei suoi oggetti. Per fare ciò, creiamo
una proprietà statica count. Inizialmente
inseriamo il valore 0, e alla creazione
di ogni nuovo oggetto aumenteremo
questo valore di 1.
Aumenteremo il valore del nostro contatore nel costruttore dell'oggetto:
<?php
class User
{
public static $count = 0; // contatore oggetti
public $name;
public function __construct($name)
{
$this->name = $name;
// Aumentiamo il contatore alla creazione dell'oggetto:
self::$count++;
}
}
?>
Verifichiamo che funzioni tutto:
<?php
$user1 = new User('user1');
echo User::$count; // visualizzerà 1
$user2 = new User('user2');
echo User::$count; // visualizzerà 2
?>
Rendete privato il nostro contatore. Fate in modo che il suo valore possa essere ottenuto tramite un metodo apposito.