Jumat, 25 Desember 2009 - 10:23:06 WIB
Reference dan Objek Cloning
Diposting oleh : Administrator
Kategori: PHP
- Dibaca: 19 kali
Reference ke suatu variabel adalah nama alias terhadap variabel tersebut, hal ini berbeda sekali dengan pointer. Dengan demikian, jika sudah digunakan untuk mengacu pada suatu objek atau variabel, maka reference tidak dapat di-reset untuk mengacu ke objek atau variabel lainnya. Fasilitas ini dapat dimanfaatkan untuk memberikan alias terhadap suatu variabel yang mempunyai nama panjang, misalnya karena berada dalam struktur yang berlapis.
Contoh berikut akan menunjukkan bagaimana cara sederhana me-refer variabel sekaligus memeriksa hasil reference.
<?php
/* reference.php */
class MyReference {
}
$a = new MyReference;
$b = $a;
if ($a === $b) {
echo "$a dan $b me-refer pada objek yang sama";
} else {
echo "$a dan $b TIDAK me-refer pada objek yang sama";
}
$c = new MyReference;
$d = new MyReference;
if ($c === $d) {
echo "$c dan $d me-refer pada objek yang sama";
} else {
echo "$c dan $d TIDAK me-refer pada objek yang sama";
}
?>
Perhatikan bahwa objek $b me-refer atau mengacu pada objek $a, sehingga $b sama dengan $a dan dalam satu objek yang sama.
Berikutnya kita membuat objek baru bernama $c dan $d. Meskipun terlihat bahwa kedua objek adalah sama, akan tetapi sebenarnya tidak mengacu pada objek satu. Bisa jadi objek $c dan $d ditempatkan pada lokasi berbeda, meskipun isinya sama akan tetapi bukan merupakan objek yang sama.
Fitur baru pada PHP 5 juga memungkinkan Anda untuk melakukan cloning terhadap objek. Ini sama halnya ketika kita melakukan reference objek, sehingga objek yang di-clone akan mengacu pada objek yang sama.
<?php
/* clone.php */
class MyClone {
function __clone() {
echo "Objek di cloning
";
}
}
$a = new MyClone;
$b = clone $a;
if ($a == $b) {
echo "$a dan $b me-refer pada objek yang sama";
} else {
echo "$a dan $b TIDAK me-refer pada objek yang sama";
}
?>
Bookmark & Share






