PHP – Metode Statis
Metode statis dapat dipanggil secara langsung – tanpa membuat instance kelas terlebih dahulu.
Metode statis dideklarasikan dengan kata kunci static:
Sintaks
Untuk mengakses metode statis gunakan nama kelas, titik dua ganda (::) dan nama metode:
Sintaks
ClassName::staticMethod();
Mari kita lihat contohnya:
Contoh :
<?php
class greeting {
  public static function welcome() {
    echo "Hello World!";
  }
}
// Panggil metode statis
greeting::welcome();
?>
  
  // Output : Hello World!Penjelasan Kode
Di sini, kita mendeklarasikan metode statis: welcome(). Kemudian, kita memanggil metode statis dengan menggunakan nama kelas, titik dua ganda (::) dan nama metode (tanpa membuat instance kelas terlebih dahulu).
PHP – Materi Metode Statis Lanjutan
Kelas dapat memiliki metode statis dan non-statis. Metode statis dapat diakses dari metode di kelas yang sama menggunakan kata kunci self dan titik dua ganda (::):
Contoh :
<?php
class greeting {
  public static function welcome() {
    echo "Hello World!";
  }
  public function __construct() {
    self::welcome();
  }
}
new greeting();
?>
  
  // Output : Hello World!
Metode statis juga dapat dipanggil dari metode di kelas lain. Untuk melakukan ini, metode statis harus bersifat public:
Contoh :
<?php
class greeting {
  public static function welcome() {
    echo "Hello World!";
  }
}
class SomeOtherClass {
  public function message() {
    greeting::welcome();
  }
}
?>Untuk memanggil metode statis dari kelas anak, gunakan kata kunci parent di dalam kelas anak. Di sini, metode statis dapat bersifat public atau protected.
Contoh :
<?php
class domain {
  protected static function getWebsiteName() {
    return "dosenit.com";
  }
}
class domainW3 extends domain {
  public $websiteName;
  public function __construct() {
    $this->websiteName = parent::getWebsiteName();
  }
}
$domainW3 = new dosenit;
echo $domainW3 -> websiteName;
?>
  //Output : dosenit.com