Пример на 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
?>
Сделайте наш счетчик приватным. Пусть его значение можно будет получать с помощью специального метода.