PHP Static Function

PHP Static Function

Fungsi Static

Dalam OOP PHP, fungsi static adalah fungsi yang terikat dengan class itu sendiri, bukan dengan instance object dari class tersebut. Fungsi static dapat dipanggil tanpa membuat instance object dari class, dan dapat diakses secara langsung dengan menggunakan sintaks “::”.

Fungsi static biasanya digunakan untuk tugas-tugas yang tidak bergantung pada instance class, seperti melakukan penghitungan matematika sederhana atau memanggil fungsi bawaan PHP. Selain itu, fungsi static juga sering digunakan sebagai alternatif untuk fungsi global, karena dapat diakses dari seluruh bagian program tanpa harus menambahkan variabel global yang mempengaruhi lingkup kerja program.

Fungsi static dideklarasikan dengan kata kunci static:

Sintaks

<?php
class NamaClass {
  public static function staticMethod() {
    echo "Halo Dunia!";
  }
}
?>

Untuk mengakses fungsi static, gunakan nama class, titik dua ganda (::), dan nama fungsi:

Sintaks

NamaClass::staticMethod();

Mari kita lihat sebuah contoh:

Contoh

<!DOCTYPE html>
<html>
<body>

<?php
class Salam {
  public static function SelamatDatang () {
    echo "Halo Dunia!";
  }
}

// Panggil fungsi static
salam::SelamatDatang();
?>

</body>
</html>

Penjelasan Contoh

Di sini, kami mendeklarasikan fungsi static: SelamatDatang(). Kemudian, kita memanggil fungsi static dengan menggunakan nama class, titik dua ganda (::), dan nama fungsi (tanpa membuat instance class terlebih dahulu).

Penjelasan Fungsi Static

Class dapat memiliki fungsi static dan non-static. Fungsi static dapat diakses dari fungsi di class yang sama menggunakan kata kunci self dan tanda titik dua (::):

Contoh

<!DOCTYPE html>
<html>
<body>

<?php
class Salam {
  public static function SelamatDatang() {
    echo "Halo Dunia!";
  }
  public function __construct() {
    self::SelamatDatang();
  }
}

new Salam ();
?>

</body>
</html>

Fungsi static juga dapat dipanggil dari fungsi di class lain. Untuk melakukannya, fungsi static harus public:

Contoh

<!DOCTYPE html>
<html>
<body>

<?php
class A {
  public static function SelamatDatang() {
    echo "Halo Dunia!";
  }
}

class B {
  public function pesan() {
    A::SelamatDatang();
  }
}

$obj = new B();
echo $obj -> pesan();
?>

</body>
</html>

Untuk memanggil fungsi static dari class anak, gunakan kata kunci parent di dalam class anak. Di sini, fungsi static dapat berupa public atau protected.

Contoh

<!DOCTYPE html>
<html>
<body>

<?php
class Domain {
  protected static function getNamaSitus() {
    return "nextgen.co.id";
  }
}

class DomainNextgen extends Domain {
  public $namasitus;
  public function __construct() {
    $this -> namasitus = parent::getNamaSitus();
  }
}

$domainnextgen = new DomainNextgen ;
echo $domainnextgen -> namasitus;
?>

</body>
</html>

Tinggalkan Balasan

Keranjang Belanja0
Keranjang belanja kosong ...
0