Sebelumnya kita telah mempelajari bagaimana cara membuat class dan object pada konsep OOP PHP. Pada sesi tutorial OOP PHP lanjutan kali ini, kita akan mempelajari bagaimana cara membuat method.
Seperti yang kita pahami bahwa sebuah method memiliki
property dan method. Oleh karena itu seyogyanya pengisian nilai sebuah property dilakukan oleh method.
Membuat method
Disini kita akan menunjukkan perbedaan set property tanpa menggunakan method dan set property dengan menggunakan method.
Program berikut adalah mengset atau memberikan nilai property dan mengakses property tanpa menggunakan method :
Outputnya :
Dari program diatas, kita membuat objek andi kemudian objek tersebut memberi nilai property email dan setelah itu langsung mengakses nilai dari property email tersebut.
Pada program dibawah ini, kita akan memberikan nilai sebuah property yang dilakukan melalui method begitu juga untuk mencetak nilai propertynya dilakukan sebuah method. Sehingga
disini kita memiliki dua buah method :
Outputnya :
Program diatas membuat objek andi, kemudian objek andi memanggil method tampung untuk mengirimkan nilai "". Nilai property tersebut pada method tampung disimpan pada property
email. Kemudian untuk menampilkan nilai property tersebut, dilakukan oleh method cetak.
Jika kita perhatikan kedua program diatas, sama-sama menghasilkan output : . Mungkin timbul pertanyaan, lalu cara mana yang menguntungkan atau cara mana yang harus kita gunakan ?.
Untuk menjawab pertanyaan diatas, kembali lagi kepada konsep object oriented
programming (oop), dimana sebuah objek memiliki data member (property) dan method. Dan tujuan utama dari konsep OOP adalah menyediakn fleksibilitas dalam hal reusibilitas (kemampuan untuk menggunakan kembali).
Dengan demikian jika sebuah objek dalam sebuah class akan berinteraksi dengan objek di class lain, maka pemberian nilai property dalam method sangat berguna. Karena property dalam objek A (Class A) dapat diset pada Objek B (Class B) melalui perantara
method. Disinilah yang kita namakan konsep OOP menawarkan fleksibilitas dalam hal reusibilitas.
Untuk memahami kegunaannya silahkan baca tutorial : Mengakses method dari class yang lain.
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. 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 ) Mengacu pada kelebihan dari OOP itu sendiri yaitu : 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 :
$sql="SELECT * FROM users WHERR user_id=1"; $query=mysqli_query($sql); While($row=$query->fetch_assoc())
{ // Data }Apa sih OOP itu ?
– 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?
– 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.
Coding diatas akan kalian tulis terus menerus jika membutuhkan data dari user ber ID 1.
Jika dibanding dengan
$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:
Cara menggunakannya
$belajar=newBelajarOOP(); |
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 :
classBelajarOOP { publicfunctionthe_name() { echo'Saya Belajar Di onphpid.com'; } public functionget_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 :
$belajar=newBelajarOOP(); $belajar->the_name(); |
outputnya :
Saya Belajar Di onphpid.com
Berbeda dengan method get_name() yang mengembalikan nilainya dengan return, sehingga perlu dicetak.
contoh:
$belajar=newBelajarOOP(); 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:
$belajar->hitung_karakter('Saya Mulai Paham Karakter'); |
Kemudian outputnya
24
Jadi kode seperti apa ? Kurang lebih seperti berikut :
ClassBelajarOOP { publicfunctionhitung_karakter($string) { echostrlen( $string); } } |
Mudah ?
Oke itu baru satu parameter, bagaimana jika lebih dari satu ? Simple.. cukup pisahkan parameter dengan coma “,”
contoh :
ClassBelajarOOP { publicfunctionhitung_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.
$belajar->hitung_karakater('Mencoba pakai satu parameter'); |
output :
29
Tapi jika $max kita beri nilai 10 misalnya.
$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
classBelajarOOP { publicfunctionthe_name() { echo$this->get_name(); } publicfunctionget_name() { return'Namaku ONPHPID'; } } |
dan ketika kita panggil method the_name()
output
Namaku ONPHPID.
Baik sampai di sini dulu Tutorial PHP OOP yang pertama. tunggu artikel berikutnya.