Primer na static u OOP u PHP
Neka imamo ovakvu klasu User:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Hajde da omogućimo ovoj klasi da broji
broj svojih objekata. Za ovo ćemo napraviti
statičko svojstvo count. Inicijalno
ćemo u njega upisati vrednost 0, a prilikom kreiranja
svakog novog objekta ćemo povećavati
tu vrednost za 1.
Vrednost našeg brojača ćemo povećavati u konstruktoru objekta:
<?php
class User
{
public static $count = 0; // brojač objekata
public $name;
public function __construct($name)
{
$this->name = $name;
// Povećavamo brojač prilikom kreiranja objekta:
self::$count++;
}
}
?>
Proverimo da li sve radi:
<?php
$user1 = new User('user1');
echo User::$count; // ispisaće 1
$user2 = new User('user2');
echo User::$count; // ispisaće 2
?>
Učinite naš brojač privatnim. Neka se njegova vrednost može dobijati pomoću posebne metode.