Menurut hemat gue konsep OOP itu sendiri untuk menyederhanakan sebuah program menjadi program-program lain yang lebih kecil. Sangat berguna untuk pemrograman berskala besar, misal kita tidak usah mengoreksi semua program untuk sebuah kesalahan kecil, cukup mencari class yang bermasalah terus memperbaikinya. Gue disini tidak menjelaskan apa itu OOP tapi gue langsung ke prakteknya aja yaa. Referensi kalian bisa cari banyak di sini :D
Class, Method, & Property
Disini gue akan coba memisahkan supaya mudah memahami satu persatu bagian dari OOP di PHP. OOP tidak jauh-jauh dari yang namanya Class. Terus gimana caranya definisiin sebuah Class pada PHP? gue mengasumsikan anda sudah menginstall php (minimal versi 5) dan localserver (apache, httpd). Kita buat file yang namanya coba.php dalam direktori webserver
# cd /var/www/htdocs/
# nano coba.php
<?php //nama classnya class orang { //contoh properti public $nama; //contoh method function set_nama($nama_baru) { $this->nama = $nama_baru; } function get_nama() { return $this->nama; } } ?>
Pada codingan di atas ada Class yang namanya orang. Setiap Class punya Property dan Method masing-masing. Property bisa disebut juga variable dari Class, nah kalo Method biasanya dalam bentuk fungsi. Pada Class orang, ada Property $nama. Terus fungsi get_nama(), set_nama() adalah Method dari Class orang. Baik Property maupun Method pada suatu Class bersifat opsional jumlahnya, disesuaikan dengan kebutuhan anda.
Menghidupkan Class
Setelah bikin Class dengan Properti dan Method nya, kita harus dapat menggunakan-nya dengan meng-hidupkan Class itu. Proses meng-hidupkan suatu Class biasa disebut Instansiasi / Pembuatan Objek. Cara menghidupkan suatu Class dengan menggunakan keyword "New". Coba kita liat di kodingan yuk:
<?php // include-kan file class coba yang telah kita buat include("coba.php");nama // buat instansiasi / objeck dari class $udin = new orang(); ?>
Di kodingan diatas, variable yg gue pake disini yaitu $udin sudah merupakan sebuah objek dari Class orang. Dan dengan instansiasi tersebut, variable $udin dapat kita gunakan untuk memanipulasi property yg udah kita buat dengan cara memanggil method get_nama() dan set_nama(). Ayo kita coba coy:
# cd /var/www/htdocs/
# nano nama.php
<?php // include-kan file class coba yang telah kita buat include("coba.php"); /*bikin objek atau biasa disebut instansiasi. cara menghidupkan suatu class dengan menggunakan keyword "new" */ $udin = new orang(); // manipulasi nama dari class orang, kita coba set namanya jadi udin $udin->set_nama("udin si imoet"); //ambil namanya echo "Nama asli udin: " . $udin->get_nama() . "\n";; ?>
Kita coba di browser yaak, tulis di url
http://localhost/nama.php
. ini penampakan di firefox saya:Berhasil ! hehe. Sebenernya gue cuma mau merubah variabel $nama yang udah kita buat menjadi ada isinya yaitu udin. Sebenernya bisa digunakan kodingan seperti ini aja:
<?php $nama = "udin si imoet"; echo "Nama asli udin: " . $nama . "\n";; ?>
Tapi di sebuah program yang kompleks dan besar, kita tidak bisa hanya mengandalkan program prosedural yang menulis dari awal hingga akhir program dalam satu kesatuan program saja, kita harus membaginya dalam program-program lain yang lebih kecil hingga membentuk sebuah program yang besar. Konsep sedikit-demi sedikit lama-lama menjadi bukit, bisa menggambarkan OOP juga :D
Sekian tutorialnya, mohon maaf kalo ada kesalahan CMIIW.