Kaedah Statik di Dalam Kelas dalam OOP dalam PHP
Jika anda ingin menggunakan kaedah statik
di dalam kelas, maka anda harus merujuk kepadanya
bukan melalui $this->, tetapi dengan bantuan
self::.
Sebagai contoh, mari tambahkan ke dalam kelas Math kami
kaedah getDoubleSum, yang akan
mencari jumlah dua kali ganda nombor. Kami akan menggunakan
di dalam kaedah baru ini kaedah yang sudah sedia ada
getSum:
<?php
class Math
{
// Cari jumlah dua kali ganda:
public static function getDoubleSum($a, $b)
{
return 2 * self::getSum($a, $b); // gunakan kaedah lain
}
public static function getSum($a, $b)
{
return $a + $b;
}
public static function getProduct($a, $b)
{
return $a * $b;
}
}
?>
Mari gunakan kaedah baru:
<?php
echo Math::getDoubleSum(1, 2);
?>
Ubah suai kaedah kelas berikut kepada statik:
<?php
class ArraySumHelper
{
public function getSum1($arr)
{
return $this->getSum($arr, 1);
}
public function getSum2($arr)
{
return $this->getSum($arr, 2);
}
public function getSum3($arr)
{
return $this->getSum($arr, 3);
}
public function getSum4($arr)
{
return $this->getSum($arr, 4);
}
private function getSum($arr, $power) {
$sum = 0;
foreach ($arr as $elem) {
$sum += pow($elem, $power);
}
return $sum;
}
}
?>