Instance
Setiap Anda membuat instance pada suatu class, maka sistem akan
membuat sebuah copy-an dari tiap-tiap variabel instance untuk instance
tersebut. Pada PHP 4, pemeriksaan instance ini dilakukan menggunakan
fungsi is_a().
/* is_a.php */
class Kendaraan {
var $roda = 'Roda Kendaraan';
}
// Membuat objek baru
$K = new Kendaraan();
// Memeriksa instance
if (is_a($K, 'Kendaraan')) {
echo " \$K adalah Kendaraan\n";
} else {
echo " \$K Bukan Kendaraan\n";
}
?>
Untuk maksud yang sama, pemeriksaan instance ini pada versi PHP 5
dapat dilakukan menggunakan operator instanceof.
/* instance.php */
class Kendaraan {
var $roda = 'Roda Kendaraan';
}
// Membuat objek baru
$K = new Kendaraan();
// Memeriksa instance
if ($K instanceof Kendaraan) {
echo "\$K adalah Kendaraan\n";
} else {
echo "\$K Bukan Kendaraan\n";
}
?>
Reference dan Objek Cloning
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.
/* 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";
}
235
$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.
/* 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";
}
?>
Static Member dan Method
Dalam model objek baru kali ini, Anda dapat memasukkan static member
(property) kemudian mengaksesnya melalui class ketika mendefinisikan
sebuah class.
/* static_member.php */
class TestStatik {
// member static
static $static = 1;
public function inc() {
return self::$static++;
}
}
$a = new TestStatik;
$b = new TestStatik;
echo '$a->inc() = ' . $a->inc() . "\n";
echo '$b->inc() = ' . $b->inc() . "\n";
?>
Method static sebenarnya termasuk suatu class, hanya saja di sini tidak
melakukan operasi pada class. Hal ini dapat pula diartikan bahwa Anda
juga dapat menggunakan method static meskipun tanpa membuat class.
Method static tidak didefinisikan dengan keyword $this, sebagaimana
pada member static.
/* static_method.php */
class Test {
public static function staticMethod() {
echo "Pemanggilan Test::staticMethod..";
}
}
Test::staticMethod();
?>
Exception
Secara ideal, semua kesalahan program dapat dideteksi pada saat start
atau sebelum eksekusi dilakukan. Akan tetapi, untuk kesalahan yang
terjadi pada saat runtime tidak mungkin dihindari. Kesalahaan pada saat
ekseksi akan menimbulkan kegagalan program, yang jika tidak ditangani
maka menyebabkan program abort.
Banyak sekali kejadian di luar dugaan yang bisa saja terjadi pada
program-program yang Anda buat, misalnya disk error, file read-only,
koneksi gagal, dan sebagainya. Pada umumnya, exception merupakan
pesan kesalahan yang dapat berakibat fatal bagi program, selain itu
juga dapat berisi situasi tak terduga lainnya. Nah, dengan melakukan
manajemen exception, Anda akan dapat memperbaiki kesalahan yang
ada pada program.
Dalam kaitannya dengan orientasi objek, PHP 5 menyediakan mekanisme
penanganan kesalahan atau exception handling. Paradigma yang
juga lebih dikenal dengan try/throw/catch ini memungkinkan kita untuk
melempar objek dari class Exception.
class SQLException extends Exception {
public $problem;
function __construct($problem) {
$this->problem = $problem;
}
}
try {
...
throw new SQLException("Couldn’t connect to
database");
...
} catch (SQLException $e) {
print "Caught an SQLException with problem $obj->problem";
} catch (Exception $e) {
print "Caught unrecognized exception";
}
semoga membantu<<<<<<<<<<>>>>>>>>.maaaf gak jadi satu<<<<<<<<>>>>>>mohon bantuan mas2 yang dah jago bikin web<<<<<<<<>>>>>kasih saran dan kritik ya<<<<<<<<<>>>>>>>> maaf juga contoh gambarnya gak ada<<<<<<<<>>>>> :study: