Прыклад на static у ААП у PHP
Хай у нас ёсць вось такі клас User:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Давайце зробім так, каб гэты клас падлічваў
колькасць сваіх аб'ектаў. Для гэтага зробім
статычную ўласцівасць count. Спачатку
запішам у яе значэнне 0, а пры стварэнні
кожнага новага аб'екта будзем павялічваць
гэта значэнне на 1.
Будзем павялічваць значэнне нашага лічыльніка ў канструктары аб'екта:
<?php
class User
{
public static $count = 0; // лічыльнік аб'ектаў
public $name;
public function __construct($name)
{
$this->name = $name;
// Павялічваем лічыльнік пры стварэнні аб'екта:
self::$count++;
}
}
?>
Праверым, што ўсё працуе:
<?php
$user1 = new User('user1');
echo User::$count; // выведзе 1
$user2 = new User('user2');
echo User::$count; // выведзе 2
?>
Зрабіце наш лічыльнік прыватным. Хай яго значэнне можна будзе атрымліваць з дапамогай спецыяльнага метаду.