Nulis-Ilmu.com

Tutorial Elektronika dan Komputer

  • Home
  • Elektronika
  • Komputer
  • Javascript
You are here: Home / PHP / Tutorial PHP OOP Part 23 : Apa itu Late Static Binding ?

Tutorial PHP OOP Part 23 : Apa itu Late Static Binding ?

8 Desember 2014 By Eko Purnomo

late static binding

Pada PHP 5.3.0, PHP mengimplementasikan fitur yang disebut dengan “Late Static Binding”. Fitur ini digunakan untuk mereference sebuah class dalam konteks pewarisan static. Lebih tepatnya, fitur Late Static Binding bekerja dengan menyimpan nama class pada akhir “non-forwarding call”.

Pada dasarnya ini bermula pada kondisi bahwa keyword self tidak mengijinkan aturan pewarisan (inheritance). Self akan diresolve didalam class dimana dia dipakai. Artinya jika kita menggunakan method yang berada pada parent class dan memanggilnya dari child class, self tidak akan mereference child seperti yang kita inginkan.


Agar lebih jelas perhatikan contoh berikut ini :

 <?php  
class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
self::who();
}
}

class B extends A {
public static function who() {
echo __CLASS__;
}
}

B::test();
?>

JIka contoh diatas dijalankan akan menampilkan A bukan B, meskipun yang memanggil adalah class B. Hal ini terjadi karena nilai dari method static who() diikat oleh keyword self, jadi tidak bisa diwariskan kepada class B sebagai class anak.

Untuk mengatasi hal itu kita menggunakan fitur Late static binding dengan keyword static seperti contoh berikut ini :

 <?php  
class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
static::who(); // penggunaan late static binding
}
}

class B extends A {
public static function who() {
echo __CLASS__;
}
}

B::test();
?>

Berbeda dengan contoh sebelumnya, jika program yang ini dijalankan akan menampilkan B berasal dari nama class yang memanggil static who() pada static method test().

Late static binding memperkenalkan cara baru dalam penggunaan keyword static sekaligus mengatasi keterbatasan dari penggunaan sebuah nilai static. Misalnya saat kita menggunakan static, kita harus merepresentasikan nama class dimana static itu pertama kali dibuat. Dengan ini maka nilai static akan terikat (bind) pada runtime class.

Referensi :

  • //php.net/manual/en/language.oop5.late-static-bindings.php

Filed Under: PHP

Kategori

  • Android
  • Blogging
  • CSS
  • Desain
  • Elektronika
  • HTML
  • Internet
  • Javascript
  • Komputer
  • Mikrokontroler
  • PHP
  • Website

Pos-pos Terbaru

  • Rangkaian Adaptor 12 Volt 3 Ampere
  • 10 Aplikasi Transportasi Online Terbaru 2018
  • 3 Cara Screenshot di Laptop Windows
  • Rangkaian Adaptor 12V 35Ampere
  • Komunitas Desainer Kampung Jepara
  • Solder Yang Bagus dan Berkualitas
  • Cara Melewatkan Parameter ke dalam Fungsi pada Bahasa C
  • Parameter Dalam Bahasa C: Formal dan Aktual
  • Prototipe Fungsi dalam Bahasa C
  • Cara Menggunakan Fungsi dalam Bahasa C
  • Home
  • Privacy
  • Disclaimer
  • Kontak

Copyright © 2024 ยท Nulis-ilmu.com