Nulis-Ilmu.com

Tutorial Elektronika dan Komputer

  • Home
  • Elektronika
  • Komputer
  • Javascript
You are here: Home / PHP / Tutorial PHP OOP Part 11 : Mengenal Operator Scope Resolution (::)

Tutorial PHP OOP Part 11 : Mengenal Operator Scope Resolution (::)

26 November 2014 By Eko Purnomo

mengenal operator scope resolution::

Operator scope resolution (::) atau dalam bahasa indonesia berarti operator resolusi ruang lingkup adalah operator yang membuat kita diijinkan untuk mengakses static, konstanta, properti dan method pada sebuah class. Operator ini juga disebut dengan Paamayim Nekudotayim. Dengan operator (::) kita bisa mengakses secara langsung sesuatu tanpa instantisasi object. Kita pernah membahas operator ini pada tulisan konstanta pada class.

Ketika kita mereference item ini dari luar definisi class, kita harus menggunakan nama class. Mulai pada PHP 5.3.0 dimungkinkan mereferen class menggunakan variabel. Yang penting nilai variabel tidak boleh berupa keyword, seperti self, parent dan static.


Untuk lebih jelas perhatikan cara menggunakan operator :: berikut ini :

1. Menggunakan operator :: dari luar class

 <?php  
//membuat class
class MyClass {
const KONSTANTA = 'Nilai Konstan';
}

//memanggil konstanta pada class tanpa instantisasi object
echo MyClass::KONSTANTA."<br/>";

//menggunakan variabel dalam mereferen class
$classname = 'MyClass';
echo $classname::KONSTANTA; // As of PHP 5.3.0
?>

2. Menggunakan operator :: dari dalam class

Ada tiga keyword khusus yang bisa dipakai dalam menggunakan operator :: didalam class, yaitu : static, parent dan self.

 <?php  
class MyClass {
const KONSTANTA = 'Nilai Konstan';
}

//membuat class anak turunan dari MyClass
class Anak extends MyClass
{
public static $my_static = 'Variabel Static';
public static function doubleColon() {

echo parent::KONSTANTA . "<br/>";
echo self::$my_static . "<br/>";
}
}

//memanggil method pada class tanpa instantisasi object
//dengan mereferen dari variabel
$classname = 'Anak';
echo $classname::doubleColon(); // As of PHP 5.3.0

//memanggil method pada class tanpa instantisasi object
Anak::doubleColon();
?>

3. Memanggil method pada parent class (class induk)

Ketika class turunan menimpa method yang ada pada class induk (parent class) maka PHP tidak akan memanggil method pada class induk. Jadi bergantung pada class turunan mau menggunakan method pada class induk atau tidak. Cara ini juga dipakai pada Constructors,  Destructors, Overloading, dan definisi Magic method.

 <?php  
class MyClass
{
protected function myFunc() {
echo "MyClass::myFunc()<br/>";
}
}

class Anak extends MyClass
{
// Membuat function yang menimpa function pada induk
public function myFunc()
{
// tapi masih bisa mengakses method dari class induk
parent::myFunc();

echo "Anak::myFunc()<br/>";
}
}

$class = new Anak();
$class->myFunc();
?>

Pada contoh terdapat class induk MyClass yang mempunyai method myFunc dengan perintah menampilkan “MyClass::myFunc()” untuk menandai bahwa tampilan ni dihasilkan oleh method myFunc() pada class induk.

Kemudian kita membuat class turunan bernama Anak dan membuat method bernama myFunc() juga, sama dengan method pada class induk. Kemudian pada method tersebut kita membuat dua perintah, yaitu { parent::myFunc(); } untuk mengakses method myFunc() pada class induk dan { echo “Anak::myFunc()<br/>”; } untuk menampilkan tulisan “Anak::myFunc()”.

Referensi :

  • //php.net/manual/en/language.oop5.paamayim-nekudotayim.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