Contoh static dalam OOP di PHP
Misalkan kita memiliki kelas User seperti ini:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Mari kita buat kelas ini menghitung
jumlah objeknya sendiri. Untuk melakukan ini, buatlah
properti statis count. Awalnya
tulis nilai 0 di dalamnya, dan saat membuat
setiap objek baru, kita akan menambah
nilai ini sebesar 1.
Kita akan menambah nilai penghitung kita di konstruktor objek:
<?php
class User
{
public static $count = 0; // penghitung objek
public $name;
public function __construct($name)
{
$this->name = $name;
// Tingkatkan penghitung saat objek dibuat:
self::$count++;
}
}
?>
Mari kita periksa apakah semuanya bekerja:
<?php
$user1 = new User('user1');
echo User::$count; // akan menampilkan 1
$user2 = new User('user2');
echo User::$count; // akan menampilkan 2
?>
Buat penghitung kita menjadi privat. Biarkan nilainya bisa didapatkan menggunakan metode khusus.