Tutorial OOP PHPÂ – Object oriented programming (OOP) ada yang pernah dengar istilah ini ? Bagi temen-temen yang pernah menggunakan pemrograman Java, C dan pernah bekerja dengan framework seperti CI, Laravel atau Simfony pasti sudah tidak asing lagi karena mereka menggunakan OOP sebagai dasar pemrograman.
Apa sih OOP itu ?
OOP adalah object oriented program merupakan sebuah paradigma pemrograman yang menganggap bahwa sebuah program dibangun dari sekumpulan object dan objek-objek tersebut dibangun lagi oleh objek-objek lain. diakhir akan ketemu satu objek yang berbentuk Class .
Kita ambil contoh. Ketika kita berbicara soal pembuatan form register dengan php, maka perlu kita break down atau turun menjadi beberapa hal. Misalkan dalam membuat form login kita perlu membuat Object yang mengurus
– Interaksi Database ( class database )
– Sanitasi data ( class Sanitize )
– Validasi data ( class Validation )
– dan terakhir Form Register ( class FormRegister ) yang mana class ini akan menhandle input/request yang dikirim dari form, kemudian memanggil/menggunakan Class lain untuk dijadikan pendukung dalam proses register.
Kenapa Harus menggunakan OOP?
Mengacu pada kelebihan dari OOP itu sendiri yaitu :
– Koding lebih tersetruktur
– lebih mudah di lacak jika terjadi Error
– Reusable, alias bisa digunakan kembali, baik pada object yang lain atau projek lain yang memiliki kemiripan.
Mengacu pada contoh diatas. Terdapat 3 class Database, Validation dan Sanitize, ketiga class tersebut tidak hanya digunakan di Form Registrasi saja tapi juga dapat dipakai berbagai fitur lain yang melibatkan Validasi, Database dan Sanitize data. Sehingga kita tinggal panggil saja dan tidak perlu membuat lagi dari awal.
Ada gambaran ?
Contoh, disini kita akan memanggil sebuah data dari table users misalnya, jika kita masih cara yang tidak useable :
1 2 3 4 5 |
$sql = "SELECT * FROM users WHERR user_id=1"; $query = mysqli_query($sql); While ( $row = $query->fetch_assoc() ) { // Data } |
Coding diatas akan kalian tulis terus menerus jika membutuhkan data dari user ber ID 1.
Jika dibanding dengan
1 2 3 |
$user = Users::getUserData( 1 ); echo $user->display_name; |
Lebih mudahkan?
Kelemahan dari Tidak reuseable adalah ketika terjadi perubahan maka semua file yang menggunakan kode tersebut harus diubah.. sedangkan kalo sudah reuseable kita tinggal mengubah function / method yang mengandung koding yang ingin diubah.
Kelebihan lain dari OOP adalah Scalable atau bisa dikembangkan lebih lanjut oleh siapa saja sesuai kebutuhan.
Membuat Class PHP
Setelah tau manfaat dari oop kita akan belajar membuat php class agar kita bisa membuat koding yang reuseable dan scalaable. Dalam pembuatan PHP class selalu diawal dengan Keyword Class yang di ikuti bracket ( kurung kurawal )
Contoh:
1 2 3 4 |
Class BelajarOOP { } |
Cara menggunakannya
1 |
$belajar = new BelajarOOP(); |
Tapi sayang, jika hanya class tanpa ada isinya tidak akan menghasilkan apapun alhasil tidak bisa digunakan. Sehingga kita perlu menambahkan isi, apa saja isinya ? Di dalam sebuah Class biasanya terdapat Method dan Property. Baik biar mudah kita bahas satu persatu.
PHP Method
Apa kalian pernah menggunakan sebuah function ? Kurang lebih sama, hanya saja function tersebut dimasukkan kedalam sebuah Class, dan setelah masuk kedalam Class namanya bukan lagi function, tapi Method.
Contoh :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class BelajarOOP { public function the_name() { echo 'Saya Belajar Di onphpid.com'; } public function get_name () { return 'Saya Sedang Belajar OOP'; } } |
baik, di atas sudah ada dua method yang saya buat, the_name() dan get_name(). Sekedar informasi, prefix (awalan) the dan get biasa saya gunakan untuk membedakan method tersebut perlu dicetak dengan echo/print/print_r atau tidak. prefix the merupakan method yang tidak perlu dicetak karena sudah ada echo didalamnya.
sehingga kita menginstansiasi seperti berikut :
1 2 3 |
$belajar = new BelajarOOP(); $belajar->the_name(); |
outputnya :
Saya Belajar Di onphpid.com
Berbeda dengan method get_name()
yang mengembalikan nilainya dengan return, sehingga perlu dicetak.
contoh:
1 2 |
$belajar = new BelajarOOP(); echo $belajar->get_name(); |
Note: Untuk model penulisan nama class, nama method boleh pakai snake_case ataupun camelCase yang penting deskriptif dan bisa dibaca hehehe
Menambahkan Parameter pada PHP method
Kalau hanya seperti contoh diatas saya rasa belum lengkap bila belum ada parameternya. Sudah tau belum maksid dan tujuan dari parameter ?oke Jika kalian pernah melihat kode seperti berikut:
1 |
$belajar->hitung_karakter( 'Saya Mulai Paham Karakter'); |
Kemudian outputnya
24
Jadi kode seperti apa ? Kurang lebih seperti berikut :
1 2 3 4 5 6 7 |
Class BelajarOOP { public function hitung_karakter( $string ) { echo strlen( $string ); } } |
Mudah ?
Oke itu baru satu parameter, bagaimana jika lebih dari satu ? Simple.. cukup pisahkan parameter dengan coma “,”
contoh :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Class BelajarOOP { public function hitung_karakter( $string, $max = 100 ) { $jumlah = strlen( $string ); if ( $jumlah > $max ) { echo 'Jumlah kata lebih dari ' . $max; } else { echo $jumlah; } } } |
Baik, diatas sudah saya tambahkan parameter baru dengan nama $max
, dimana $max
punya nilai default 100
. Maksud dari nilai default adalah parameter $max
boleh diisi boleh tidak. Tapi jika jumlah karakter melebihi 100
, maka hasilnya adalah ‘jumlah kata lebih dari 100’
Jadi jika parameter $max
diabaikan / tidak diisi kodingnya seperti ini.
1 |
$belajar->hitung_karakater('Mencoba pakai satu parameter'); |
output :
29
Tapi jika $max kita beri nilai 10 misalnya.
1 |
$belajar->hitung_karakater('Mencoba pakai satu parameter', 10); |
Outputnya
jumlah kata lebih dari 10
note: untuk parameter yang tidak diberi nilai default maka Wajib diisi. Jika tidak akan terjadi Error. Tidak percaya? Silahkan coba hehehe.
Menggunakan atau Memanggil Method ke Method lain Dalam Satu Class.
Di sini kita akan bekerja dengan $this
, apa itu $this
? $this
adalah sebuah variable khusus di dalam sebuah PHP Class, $this
biasa dikenal dengan pseudo-variable yang berguna untuk menunjuk suatu object, seolah-olah $this adalah class itu sendiri. Dan sekarang akan kita menggunakan $this
untuk memanggil method ke method lain di dalam satu class.
Contoh
1 2 3 4 5 6 7 8 9 10 11 12 |
class BelajarOOP { public function the_name() { echo $this->get_name(); } public function get_name() { return 'Namaku ONPHPID'; } } |
dan ketika kita panggil method the_name()
1 |
$belajar->the_name(); |
output
Namaku ONPHPID.
Baik sampai di sini dulu Tutorial PHP OOP yang pertama. tunggu artikel berikutnya.