Esimerkki static:sta OOP:PHP:ssä
Oletetaan, että meillä on seuraava luokka User:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Tehdään luokasta sellainen, että se laskee
omia olioitaan. Tätä varten teemme
staattisen ominaisuuden count. Aluksi
kirjoitamme siihen arvon 0, ja kun luomme
jokaisen uuden olion, lisäämme
tätä arvoa 1:llä.
Lisätään laskurimme arvoa olion konstruktorissa:
<?php
class User
{
public static $count = 0; // olioiden laskuri
public $name;
public function __construct($name)
{
$this->name = $name;
// Lisää laskuria olion luonnissa:
self::$count++;
}
}
?>
Tarkistetaan, että kaikki toimii:
<?php
$user1 = new User('user1');
echo User::$count; // tulostaa 1
$user2 = new User('user2');
echo User::$count; // tulostaa 2
?>
Tee laskuristamme yksityinen. Sen arvoa voidaan saada erityisen menetelmän avulla.