Nulis-Ilmu.com

Tutorial Elektronika dan Komputer

  • Home
  • Elektronika
  • Komputer
  • Javascript

Tutorial PHP OOP Part 22 : Menggunakan Type Hinting

6 Desember 2014 By Eko Purnomo

menggunakan-type-hint

Type hinting adalah sebuah cara untuk membatasi penggunaan parameter dalam sebuah method didalam class. Dengan type hinting kita dapat menentukan secara spesifik tipe data yang diterima oleh sebuah method. Type hinting hanya digunakan untuk mambatasi parameter berupa object, array dan interface. Type hinting tidak bisa dipakai untuk membatasi parameter dengan tipe integer, string, resource dan trait.

Penggunaan Type Hint

Untuk memahami penggunaan type hinting, silahkan perhatikan contoh berikut ini :

 <?php  

class Rumput {
public $kalori = 100;
}

$tokoEnergi1 = array (50,100,150,200);

$tokoEnergi2 = array (500,1000,1500,2000);

interface bonusEnergi {
const bonus=10000;
}

class Hewan
{
public $energi;

public function makanRumput( Rumput $Rumput )
{
$this->energi += $Rumput->kalori;
echo "Tambah Energi Makan Rumput Sebesar = ".$Rumput->kalori."<br/>";
}

public function beliEnergi( array $arrayName ,$level)
{
$this->energi += $arrayName[$level];
echo "Tambah beli Energi Sebesar = ".$arrayName[$level]."<br/>";
}

public function bonusEnergi( $interface )
{
$this->energi += $interface::bonus;
echo "Tambah Bonus Energi Sebesar = ".$interface::bonus."<br/>";
}

public function getEnergi()
{
return 'Total energi Sekarang: ' . $this->energi . '<br>';
}
}

$sapi = new Hewan;
$Rumput = new Rumput();
$sapi->energi=0;

echo "Energi awal Sapi=".$sapi->energi."<br/><br/>";

$sapi->makanRumput( $Rumput );
echo $sapi->getEnergi()."<br/>";

$sapi->beliEnergi($tokoEnergi1,3);
echo $sapi->getEnergi()."<br/>";

$sapi->beliEnergi($tokoEnergi2,2);
echo $sapi->getEnergi()."<br/>";

$sapi->bonusEnergi('bonusEnergi');
echo $sapi->getEnergi()."<br/>";

?>

Penjelasan Program

Pada contoh terdapat beberapa penggunaan type hint, yaitu :

  1. Type hint dengan tipe Object pada method makanRumput() menggunakan object Rumput
  2. Type hint  dengan tipe Array pada method beliEnergi() yang mengambil nilai dari array yang didefinisikan oleh variabel $arrayName.
  3. Type hint dengan tipe Interface pada method bonusEnergi() yang mengambil konstanta bonus dari interface bonusEnergi.

Alur program :

Misalnya kita akan membuat sebuah object Hewan pada karakter game dan memantau perkembangan energi melalui berbagai proses seperti makan rumput, beli energi dan bonus energi.
Persiapan untuk memperoleh energi :

  • Pertama kita membuat class Rumput dengan properti kalori diset sebesar 100.
  • Selanjutanya kita buat array tokoEnergi1 dengan isi 50,100,150,200 dan array tokoEnergi1 dengan isi 500,1000,1500,2000.
  • Yang ketiga kita buat Interface bonusEnergi dengan konstanta bonus sebesar 10000.

Pembuatan class Hewan dengan isi proses pertambahan energi :

  • Pertama kita membuat properti $energi.
  • Kemudian kita buat method makanRumput() untuk mengambil energi dari object Rumput yang diinstansisasi dari class Rumput lalu menambahkannya kedalam energi sekarang.
  • Kita buat juga method beliEnergi() untuk membeli energi dari array tokoEnergi yang berisi stok energi lalu menambahkannya kedalam energi sekarang.
  • Selanjutnya kita buat juga method bonusEnergi() untuk mengambil bonus energi dari interface yang berisi konstanta bonus energi lalu menambahkannya kedalam energi sekarang.
  • Yang terakhir kita buat method untuk menampilaknjumlah energi sekarang dengan method getEnergi().

Membuat visualisasi dari class Hewan :

  • Pertama kita buat object bernama sapi dari class Hewan.
  • Kita juga harus menginstantisasi object Rumput dari class Rumput agar bisa “dimakan” nantinya.
  • Setting nilai energi awal=0 dan tampilkan.
  • Kemudian melalui perintah { $sapi->makanRumput( $Rumput );  } kita menyuruh sapi untuk makan rumput lalu menampilkan energi sekarang dengan perintah { echo $sapi->getEnergi().”<br/>”;   }
  • Setelah itu kita perintah sapi untuk beli energi selama dua kali yaitu sebesar 200 di tokoEnergi1 dan 1500 di tokoEnergi2
  • Lalu kita tampilkan lagi energi sekarang dengan perintah { echo $sapi->getEnergi().”<br/>”;   }
  • Yang terakhir kita suruh sapi untuk mengambil bonus energi dari interface bonusEnergi melalui perintah { $sapi->bonusEnergi(‘bonusEnergi’);  }
  • Dan kita tampilkan lagi energi sekarang dengan perintah { echo $sapi->getEnergi().”<br/>”;   }

Berikut ini tampilan program saat dijalankan :

Energi awal Sapi=0

Tambah Energi Makan Rumput Sebesar = 100
Total energi Sekarang: 100

Tambah beli Energi Sebesar = 200
Total energi Sekarang: 300

Tambah beli Energi Sebesar = 1500
Total energi Sekarang: 1800

Tambah Bonus Energi Sebesar = 10000
Total energi Sekarang: 11800

Kesimpulan :

Dengan menggunakan type hinting, kita bisa membatasi nilai-nilai yang bisa masuk ke method yang kita buat. Kita juga memberikan akses sementara untuk penggunaan kelas di dalam kelas-kelas yang lain.

Referensi :

  • //php.net/manual/en/language.oop5.typehinting.php
  • //jaskokoyn.com/2013/06/11/type-hinting

Filed Under: PHP

Tutorial PHP OOP Part 21 : Perbandingan Object

6 Desember 2014 By Eko Purnomo

perbandingan object

Perbandingan antara dua buah object dapat dilakukan dengan operator perbandingan (==) seperti yang sering dipakai pada saat menggunakan logika IF. Dengan cara ini, kedua object diperbandingkan secara sederhana. Hasil dari operator (==) akan bernilai benar (TRUE) jika kedua object memiliki atribut dan nilai yang sama dan juga merupakan instantisasi dari class yang sama.

Selain operator perbandingan (==) pada PHP juga terdapt operator identik yaitu (===) atau tanda sama dengan yang ditulis tiga kali. Bila menggunakan operator identitas (===), variabel object disebut identik dan menghasilkan nilai benar (TRUE) jika dan hanya jika mereka mengacu pada instantisasi yang sama dari kelas yang sama.

Contoh penggunaan operator perbandingan (==) dan operator identik (===)

 <?php  
function bool2str($bool)
{
if ($bool === false) {
return 'SALAH';
} else {
return 'BENAR';
}
}

function Bandingkan(&$object1,$namaobject1, &$object2,$namaobject2)
{
echo $namaobject1 .' == '.$namaobject2.' -> '. bool2str($object1 == $object2) . "<br/>";
echo $namaobject1 .' != '.$namaobject2.' -> '. bool2str($object1 != $object2) . "<br/>";
echo $namaobject1 .' === '.$namaobject2.' -> '. bool2str($object1 === $object2) . "<br/>";
echo $namaobject1 .' !== '.$namaobject2.' -> '. bool2str($object1 !== $object2) . "<br/>";
}

class Class1
{
public $contoh;
function Test1($contoh = true) {
$this->contoh = $contoh;
}
}

class Class2
{
public $contoh;
function Test2($contoh = true) {
$this->contoh = $contoh;
}
}

$object1 = new Class1();
$object2 = new Class1();
$object3 = $object1;
$object4 = new Class2();

echo "<h1>Kriteria perbandingan :</h1>
".htmlspecialchars("$")."object1 = new Class1();<br/>
".htmlspecialchars("$")."object2 = new Class1();<br/>
".htmlspecialchars("$")."object3 = ".htmlspecialchars("$")."object1;<br/>
".htmlspecialchars("$")."object4 = new Class2();<br/>
<br/>
";

echo "<h1>Hasil Perbandingan :</h1>";

echo "<b>Dua instantisasi dari class yang sama :</b><br/>";
Bandingkan($object1,'$object1', $object2,'$object2');

echo "<br/><b>Dua reference dari instantisasi yang sama :</b><br/>";
Bandingkan($object1,'$object1', $object3,'$object3');

echo "<br/><b>Instantisasi dari dua class berbeda :</b><br/>";
Bandingkan($object1,'$object1', $object4,'$object4');
?>

Jika program diatas dijalankan akan tampil hasil perbandingan seperti ini :

Kriteria perbandingan :

$object1 = new Class1();
$object2 = new Class1();
$object3 = $object1;
$object4 = new Class2();

Hasil Perbandingan :

Dua instantisasi dari class yang sama :
$object1 == $object2 -> BENAR
$object1 != $object2 -> SALAH
$object1 === $object2 -> SALAH
$object1 !== $object2 -> BENAR

Dua reference dari instantisasi yang sama :
$object1 == $object3 -> BENAR
$object1 != $object3 -> SALAH
$object1 === $object3 -> BENAR
$object1 !== $object3 -> SALAH

Instantisasi dari dua class berbeda :
$object1 == $object4 -> SALAH
$object1 != $object4 -> BENAR
$object1 === $object4 -> SALAH
$object1 !== $object4 -> BENAR

Penjelasan program :

Dari percobaan diatas dapat diperoleh beberapa kondisi, yaitu:

  1. Object1 dan Object2 merupakan object yang di instantisasi dari class yang sama, maka ketika dibandingkan dengan operator (==) menghasilkan “BENAR” dan ketika dibandingkan dengan operator (===) menghasilkan “SALAH”.
  2. Object1 dan Object3 merupakan object yang direferen dari instantisasi dari class yang sama, maka ketika dibandingkan dengan operator (==) menghasilkan “BENAR” dan ketika dibandingkan dengan operator (===) menghasilkan “BENAR”.
  3. Object1 dan Object4 merupakan object yang diinstantisasi dari class yang berbeda, maka ketika dibandingkan dengan operator (==) menghasilkan “SALAH” dan ketika dibandingkan dengan operator (===) menghasilkan “SALAH”.

Referensi :

  • //php.net/manual/en/language.oop5.object-comparison.php

Filed Under: PHP

Tutorial PHP OOP Part 20 : Pengertian Object Cloning

5 Desember 2014 By Eko Purnomo

pengertian object cloning

Object cloning adalah membuat object baru yang sama dengan object lama. Sekilas ini mirip dengan proses copy namun berbeda dalam penerapannya. Seperti kita ketahui bahwa sebuah object bukanlan sebuah variabel dengan value tetapi hanya sebuah reference yang mengacu pada properti dan method di dalam class.

Berikut ini contoh perbedaan copy pada object dan variabel :

Contoh copy pada variabel :

memberi nilai 5 pada variabel a
a=5;

mengkopi nilai variabel a ke variabel b
b=a;

sekarang variabel a bernilai 5 dan variabel b bernilai 5

mengganti nilai variabel a dengan 4
a=4;

sekarang variabel a bernilai 4 dan variabel b tetap bernilai 5

Hal ini tidak berlaku pada object, perhatikan contoh berikut ini :

 <?php  
class Rumus {
var $panjang;
var $lebar;

function __construct($x,$y) {
$this->panjang =$x;
$this->lebar =$y;
}

function luas() {
return $this->panjang * $this->lebar;
}
}

$rumus1= new Rumus(6,7);
$rumus2 = $rumus1;

echo "Hasil sebelum properti panjang diganti: <br/>";
echo "Luas dari rumus1 = ".$rumus1->luas()."<br/>";
echo "Luas dari rumus2 = ".$rumus2->luas()."<br/><br/>";

//nilai properti panjang pada rumus2 diganti jadi 5
$rumus2->panjang=5;

echo "Hasil setelah properti panjang pada rumus2 diganti 5: <br/>";
echo "Luas dari rumus1 = ".$rumus1->luas()."<br/>";
echo "Luas dari rumus2 = ".$rumus2->luas()."<br/>";
?>

Jika program diatas dijalankan akan tampil seperti ini :

Hasil sebelum properti panjang diganti: 
Luas dari rumus1 = 42
Luas dari rumus2 = 42

Hasil setelah properti panjang pada rumus2 diganti 5:
Luas dari rumus1 = 35
Luas dari rumus2 = 35

Terlihat bahwa hasil perhitungan method luas() pada rumus1 dan rumus2 setelah properti diganti adalah sama, meskipun kita hanya mengganti properti panjang rumus2. Hal ini terjadi karena ketika kita mengganti properti pada rumus2 maka properti panjang pada object rumus1 juga ikut berubah.

Ini membuktikan bahwa object hanya sebatas reference saja. Jadi ketika yang direferen berubah maka yang hasil referensi juga ikut berubah karena hakikatnya hanya ada satu object saja.

Membuat cloning object

Dengan meng-kloning sebuah object kita akan mempunyai object baru yang sama dengan object lama namun mempunyai ruang serdiri dalam memori. Jadi ketika properti pada object lama diganti tidak akan mempengaruhi properti pada object baru hasil kloningan.

Untuk membuat object kita menggunakan keyword “clone”.
Perhatikan contoh diatas setelah kita menggunakan clone pada rumus1 dan rumus2 berikut ini :

 <?php  
class Rumus {
var $panjang;
var $lebar;

function __construct($x,$y) {
$this->panjang =$x;
$this->lebar =$y;
}

function luas() {
return $this->panjang * $this->lebar;
}
}

$rumus1= new Rumus(6,7);
$rumus2 = clone $rumus1;

echo "Hasil sebelum properti panjang diganti: <br/>";
echo "Luas dari rumus1 = ".$rumus1->luas()."<br/>";
echo "Luas dari rumus2 = ".$rumus2->luas()."<br/><br/>";

//nilai properti panjang pada rumus diganti jadi 5
$rumus2->panjang=5;

echo "Hasil setelah properti panjang pada rumus2 diganti 5: <br/>";
echo "Luas dari rumus1 = ".$rumus1->luas()."<br/>";
echo "Luas dari rumus2 = ".$rumus2->luas()."<br/>";
?>

Jika program diatas dijalankan akan tampil seperti ini :

Hasil sebelum properti panjang diganti: 
Luas dari rumus1 = 42
Luas dari rumus2 = 42

Hasil setelah properti panjang pada rumus2 diganti 5:
Luas dari rumus1 = 42
Luas dari rumus2 = 35

Hasil yang diperoleh dari rumus1 dan rumus2 setelah mengganti properti terlihat berbeda. Hal ini karena rumus2 merupakan object baru hasil dari cloning rumus1. Dengan demikian object rumus2 mempunya memori untuk menyimpan properti dan methodnya sendiri.

Mengapa menggunakan cloning, mengapa kita tidak membuat instantisasi saja lagi untuk object baru ?

Jika kita berkata tentang pemrograman berorientasi object tentunya tidak hanya PHP saja. Penggunaan cloning pada PHP OOP ini lebih kearah penyeragaman bahasa terharap  bahasa pemrograman berorientasi object lainnya.

Selain itu membuat instantisasi baru akan mengharuskan kita mendefinisikan semua properti pada konstruktor. Hal ini kurang cocok saat kita melakukan pemrograman secara tim, dimana teman kita perlu mengakses object yang kita buat namun dia ingin mengganti salah satu properti saja.

Dengan cloning object maka dia cukup mengambil object yang kita buat lalu mengganti properti yang diinginkan tanpa harus instantisasi semua properti.

Penggunaan method __clone() pada proses cloning

PHP memberikan sebuah magic method bernama __clone untuk menangani hal-hal yang berkaitan dengan proses cloning. Method ini akan otomatis diakses setelah proses cloning object selesai.

Contoh penggunaan method __clone dengan memodifikasi contoh program diatas :

 <?php  
class Rumus {
var $panjang;
var $lebar;
function __construct($x,$y) {
$this->panjang =$x;
$this->lebar =$y;
}
function luas() {
return $this->panjang * $this->lebar;
}
function __clone() {
$this->panjang++;
}
}
$rumus1= new Rumus(6,7);
$rumus2 = clone $rumus1;
echo "Hasil rumus1 dan rumus2 setelah cloning: <br/>";
echo "Luas dari rumus1 = ".$rumus1->luas()."<br/>";
echo "Luas dari rumus2 = ".$rumus2->luas()."<br/>";
?>

Jika program diatas dijalankan akan tampil seperti ini :

Hasil rumus1 dan rumus2 setelah cloning: 
Luas dari rumus1 = 42
Luas dari rumus2 = 49

Tampak hasil perhitungan method luas() pada rumus1 dan rumus2 berbeda. Method luas() pada rumus1 menghasilkan 42 sedangkan method luas() pada rumus2 menghasilkan 49.

Hal ini karena setelah proses cloning rumus1 menjadi rumus2 program otomatis menjalankan method __clone yang berisi perintah menambah 1 pada properti panjang, yaitu : $this->panjang++.

Referensi :

  • //php.net/manual/en/language.oop5.cloning.php
  • //arthur.purnama.de/2008/12/object-cloning-di-php-5.html

Filed Under: PHP

Tutorial PHP OOP Part 19 : Final Class dan Final Method

4 Desember 2014 By Eko Purnomo

final class dan final method

Pada PHP 5 diperkenalkan penggunaan keyword “final” pada class dan method. Final class adalah class yang tidak bisa diwarisi (inheritance) oleh class lain. Dengan kata lain class ini merupakan end-class yang tidak bisa diturunkan kepada class lain. Dan jika kita mencoba membuat class dengan inherit kepada final class akan muncul error.

Selain final class, dikenal juga final method, artinya kita tidak bisa menimpa sebuah final method yang ada pada class induk melalui class anak. Dengan begitu kita tidak bisa mendefinisikan ulang final class yang ada pada class induk di class anak. Jika hal ini dilakukan juga akan muncul error.

Jika ada final class dan final method, lalu bagaimana dengan final properti?

Jawabannya adalah sebuah properti tidak bisa dideklarasikan sebagai final, hanya class dan method saja yang bisa.

Membuat Final Class

Untuk membuat final class kita cukup menaruh keyword “final” sebelum keyword class.

final class nama_class {
//... isi class
}

Contoh Penggunaan Final Class

Sebuah final class tidak bisa diwarisi (inherit) oleh class lain. Jika ini dilakukan akan muncul Fatal error: Class … may not inherit from final class.

Untuk lebih jelas perhatikan contoh berikut ini :

 <?php  
final class Induk {
public function Test() {
return "Display Test Pada Induk";
}
}

class Anak extends Induk {
public function Test() {
return "Display Test Pada Anak";
}
}

$object = new Induk;
echo $object->Test();
?>

Jika program diatas dijalankan maka akan muncul error :

Fatal error: Class Anak may not inherit from final class (Induk) in /home/sabrina/www/php/index.php on line 12

Membuat FInal Method

Untuk membuat final method kita cukup menaruh keyword “final” sebelum keyword public function.

final public function nama_method(){
//... isi method
}

Contoh Penggunaan Final Method

Sebagaimana dengan final class, sebuah final method pada class induk juga tidak bisa ditimpa pada class anak. Jika ini dilakukan akan muncul Fatal error: Cannot override final method Induk::namaMethod().

Untuk lebih jelas perhatikan contoh berikut ini :

 <?php  
class Induk {
final public function Test() {
return "Display Test Pada Induk";
}
}
class Anak extends Induk {
public function Test() {
return "Display Test Pada Anak";
}
}
$object = new Anak;
echo $object->Test();
?>

Jika program diatas dijalankan maka akan muncul error :

Fatal error: Cannot override final method Induk::Test() in /home/sabrina/www/php/index.php on line 12

Referensi :

  • //php.net/manual/en/language.oop5.final.php

Filed Under: PHP

Tutorial PHP OOP Part 18 : Perulangan Object Dengan Interface Iterator

3 Desember 2014 By Eko Purnomo

perulangan object dengan interface iterator

Perulangan object atau dalam bahasa inggris disebut dengan object iteration adalah sebuah perulangan dalam menampilkan properti yang ada dalam object. PHP memberi jalan bagi sebuah object agar bisa didefinisikan, jadi dalam hal ini dimungkinkan membuat perulangan melalui sebuah daftar item misalnya menggunakan foreach. Secara default semua properti yang visible akan ditampilkan termasuk properti protected dan private.

Perulangan object secara sederhana

 <?php  
class MyClass
{
public $var1 = 'value 1';
public $var2 = 'value 2';
public $var3 = 'value 3';

protected $protected = 'protected var';
private $private = 'private var';

function Ulang() {
echo "MyClass::Ulang :<br/>";
foreach($this as $key => $value) {
print "$key => $value<br/>";
}
}
}

$class = new MyClass();

foreach($class as $key => $value) {
print "$key => $value<br/>";
}

echo "<br/>";

$class->Ulang();
?>

Program diatas akan menampilkan :

var1 => value 1
var2 => value 2
var3 => value 3

MyClass::Ulang:
var1 => value 1
var2 => value 2
var3 => value 3
protected => protected var
private => private var

Perulangan object dengan Interface “Iterator”

PHP menyediakan sebuah interface untuk menangani perulangan object yang diberi nama Iterator. Dengan sebuah interface Iterator, sebuah object dapat menentukan bagaimana sebuah object akan diulang dan nilai apa saja yang tersedia pada setiap perulangan.

Interface Iterator digunakan untuk mengakses dan atau memanipulasi sebuah array/list. Dengan mengimplementasikan interface Iterator maka kita dapat menggunakan foreach pada class yang dibuat seperti halnya array.

Interface Iterator memiliki 5 fungsi yang harus diimplementasikan, yaitu :

  1. rewind(), mereset pointer array kembali 0 atau awal
  2. current(), mengembalikan nilai elemen dari pointer saat ini.
  3. key(), mengembalikan pointer saat ini.
  4. next(), mengembalikan elemen selanjutnya dan memperbarui pointer
  5. valid(), memvalidasi bahwa ada sebuah element dari pointer saat ini.

Contoh penggunaan interface Iterator :

 <?php  
class Ulang implements Iterator
{
private $var = array();
public function __construct($array)
{
if (is_array($array)) {
$this->var = $array;
}
}
public function rewind()
{
echo "rewinding<br/><br/>";
reset($this->var);
}
public function current()
{
$var = current($this->var);
echo "current: $var<br/><br/>";
return $var;
}
public function key()
{
$var = key($this->var);
echo "key: $var<br/><br/>";
return $var;
}
public function next()
{
$var = next($this->var);
echo "next: $var<br/><br/>";
return $var;
}
public function valid()
{
$key = key($this->var);
$var = ($key !== NULL && $key !== FALSE);
echo "valid: $var<br/><br/>";
return $var;
}
}
$values = array(1,2,3);
$object = new Ulang($values);
foreach ($object as $a => $b) {
print "$a: $b<br/>";
}
?>

Jika program diatas dijalankan akan tampil :

rewinding

valid: 1

current: 1

key: 0

0: 1
next: 2

valid: 1

current: 2

key: 1

1: 2
next: 3

valid: 1

current: 3

key: 2

2: 3
next:

valid:

Referensi :

  • //php.net/manual/en/language.oop5.iterations.php

Filed Under: PHP

Tutorial PHP OOP Part 17 : Mengenal Magic Methods

2 Desember 2014 By Eko Purnomo

mengenal magic methods php oop

Pada PHP terdapat beberapa method yang disebut dengan magic method. Nama method-method ini diawali dengan “__” (dobel underscore). Dinamakan magic karena method ini merupakan method dengan fungsi khusus dan merupakan salah satu fitur dalam pemrograman PHP berorientasi object. Dan juga kita tidak boleh membuat function dengan nama yang sama dengan nama magic method.

Pada situs php.net, setidaknya disebutkan ada 15 magic method, yaitu: __construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() dan __debugInfo().

Beberapa dintaranya telah kita kenal melalui tulisan-tulisan sebelumnya seperti __construct, _destruct, __get(), __set(), __isset(), __unset(),__call() dan __callStatic().

Mari kita mengenal satu persatu magic method pada Pemrograman PHP berorientasi object :

1. __construct()

Merupakan method untuk membuat konstruktor sebuah class. Dengan method __construct() kita bisa membuat sebuah object sekaligus setting propertinya.

Lebih detail tentang method __construct() dapat dilihat pada Tutorial PHP OOP Part 8 : Membuat Constructor dan Destructor.

2. __destruct()

Adalah method yang dipakai untuk memusnahkan properti pada object setelah exit atau unset object.
Lebih detail tentang method __destruct() dapat dilihat pada Tutorial PHP OOP Part 8 : Membuat Constructor dan Destructor.

3. __call()

Adalah method yang digunakan saat memanggil method yang tidak dapat diakses (inaccessible method) didalam object .

Lebih detail tentang method __call() dapat dilihat pada Tutorial PHP OOP Part 16 : Konsep Overloading dalam PHP.

4. __callStatic()

Adalah method yang digunakan saat memanggil method yang tidak dapat diakses (inaccessible method) didalam static .

Lebih detail tentang method __callStatic() dapat dilihat pada Tutorial PHP OOP Part 16 : Konsep Overloading dalam PHP.

5. __get()

Adalah method digunakan untuk membaca data dari properti yang tidak dapat diakses (inaccessible property).

Lebih detail tentang method __get() dapat dilihat pada Tutorial PHP OOP Part 16 : Konsep Overloading dalam PHP.

6. __set()

Adalah method digunakan untuk menulis data pada properti yang tidak dapat diakses (inaccessible property).

Lebih detail tentang method __set() dapat dilihat pada Tutorial PHP OOP Part 16 : Konsep Overloading dalam PHP.

7. __isset()

Adalah method yang dipicu dengan memanggil method isset() atau empty() pada properti yang tidak dapat diakses (inaccessible property).

Lebih detail tentang method __isset() dapat dilihat pada Tutorial PHP OOP Part 16 : Konsep Overloading dalam PHP.

8. __unset()

Adalah method yang dipicu dengan memanggil method unset() pada properti yang tidak dapat diakses (inaccessible property).

Lebih detail tentang method __unset() dapat dilihat pada Tutorial PHP OOP Part 16 : Konsep Overloading dalam PHP.

9. __sleep()

Adalah method yang dipanggil saat proses serialisasi object melalui function serialize(). Jadi proses serialisasi mengecek apakah sebuah class memiliki method __sleep() didalamnya. Jika ya, maka function akan dijalankan sebelum proses serialisasi.

10. __wakeup()

Adalah kebalikan dari method __sleep(). Jika method __sleep digunakan saat proses serialisasi maka method __wakeup() digunakan saat proses unserialisasi dengan funstion unserialize(). Jadi fungsi ini dalam membangun kembali resource yang mungkin hilang setelah proses serialisasi.

11. __toString()

Adalah method yang memungkinkan sebuah class memutuskan bagaimana ia akan bereaksi bila diperlakukan seperti string.

Sebagai contoh bagaimana perintah echo $ obj ; akan dicetak. Method ini harus mengembalikan nilai string , karena kalau tidak akan dimunculkan fatal error : E_RECOVERABLE_ERROR.

12. __invoke()

Adalah method yang dipakai ketika sebuah script mencoba menghubungi objek sebagai function.

13. __set_state()

Adalah method yang dipakai saat mengeksport class dengan function var_export(), yaitu function yang mengeksport properti dalam method kedalam array (‘property’ => value, …).

14. __clone()

Adalah method yang dipakai untuk membuat salinan object. Method __clone() dipilih daripada memiliki dua variabel yang menunjuk ke data aktual yang sama.

15.__debugInfo()

Adalah method yang dipanggil oleh function var_dump() ketika proses dumping object untuk memperoleh properti yang harus ditampilkan.

Jika method ini tidak didefinisikan pada objek , maka semua sifat public ,  private dan protected  akan ditampilkan .

Referensi :

  • //php.net/manual/en/language.oop5.magic.php

Filed Under: PHP

  • « Previous Page
  • 1
  • …
  • 42
  • 43
  • 44
  • 45
  • 46
  • …
  • 60
  • Next Page »

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