PHP-də OOP-də static istifadəsinə nümunə
Tutaq ki, bizim belə bir User sinfimiz var:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Gəlin elə edək ki, bu sinif öz obyektlərinin sayını saysın.
Bunun üçün statik count xassəsi yaradaq.
Əvvəlcə ona 0 qiymətini yazaq,
və hər yeni obyekt yaradılanda
bu qiyməti 1 vahid artıraq.
Sayaçımızın qiymətini obyektin konstruktorunda artıracayıq:
<?php
class User
{
public static $count = 0; // obyektlərin sayacı
public $name;
public function __construct($name)
{
$this->name = $name;
// Obyekt yaradılanda sayacı artırırıq:
self::$count++;
}
}
?>
Gəlin yoxlayaq ki, hər şey işləyir:
<?php
$user1 = new User('user1');
echo User::$count; // 1 çap edəcək
$user2 = new User('user2');
echo User::$count; // 2 çap edəcək
?>
Bizim sayacımızı private edin. Onun qiymətini xüsusi bir metodla əldə etmək mümkün olsun.