Eksempel på static i OOP i PHP
La oss si at vi har følgende klasse User:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
La oss gjøre slik at denne klassen teller
antall av sine egne objekter. For å gjøre dette, lager vi
en statisk egenskap count. Til å begynne med
setter vi verdien til 0, og ved oppretting av
hvert nytt objekt øker vi
denne verdien med 1.
Vi skal øke verdien av telleren vår i objektets konstruktør:
<?php
class User
{
public static $count = 0; // objekt-teller
public $name;
public function __construct($name)
{
$this->name = $name;
// Øker telleren ved oppretting av objekt:
self::$count++;
}
}
?>
La oss sjekke at alt fungerer:
<?php
$user1 = new User('user1');
echo User::$count; // vil skrive ut 1
$user2 = new User('user2');
echo User::$count; // vil skrive ut 2
?>
Gjør telleren vår privat. La dens verdi kunne hentes ved hjelp av en spesiell metode.