OOP dengan PHP
PHP sudah mendukung OOP
mulai versi 5, yang mempunyai bentuk pemodelan object yang baru untuk mengatasi
kompleksitas masalah yang tidak bisa dilakukan pada versi sebelumnya. PHP 5 memberikan
performa yang lebih baik dan fitur baru dibandingkan versi sebelumnya.
Konsep OOP
Objek
·
Perbedaan utama OOP dengan pemrograman terstruktur
(fungsional), data dan kode program
tergabung menjadi satu entitas yang disebut Objek.
·
Tiap objek dapat berinteraksi satu dengan lainnya.
·
Tiap objek biasanya mewakili satu persoalan, yang
memilik properti/atribut dan method.
Class
·
Class adalah script yang digunakan sebagai cetakan
untuk membuat objek.
·
Class mendefinisikan properti/atribut yang dimilik objek
serta method yang dapat dilakukan oleh objek.
Method
·
Method adalah fungsi yang lebih spesifik dari sebuah class (biasa disebut function, karena membuatnya dengan menuliskan syntax
function sebelum method name).
·
Method ada yang mengembalikan nilai dan tidak
mengembalikan nilai.
·
Perbedaannya method yang mengembalikan nilai
menggunakan syntax return
Inheritance (pewarisan)
·
Setiap objek harus memiliki properti dan method yang
dibutuhkan. Tidak kurang,
·
tidak lebih.
·
Inheritance dapat memberikan properti dan method ke
class-class lainnya.
·
Misal ada 2 objek mawar, mawarPutih dan
mawarMerah.Keduanya memiliki beberapa informasi yang sama, tumbuh di
semak-semak, berduri, harum.
·
Dengan inheritance, memungkinkan menghapus duplikasi
objek.
Constructor
·
Constructor adalah method khusus yang tereksekusi
otomatis ketika objek dari kelas
tersebut dibuat.
·
Constructor harus diberi nama : __construct() (2 garis bawah)
·
Tidak wajib membuat constructor
Destructor
·
Method khusus yang dipanggil otomatis oleh PHP saat
objek dimusnahkan.
·
Destructor harus diberi nama : __destruct()
·
Tidak wajib membuat method destructor.
·
Buat method destructor jika ada script khusus yang
ingin dieksekusi sebelum objek dimusnahkan.
·
unset($objek), untuk menghilangkan objek.
Visibilitas member
·
Public
Properti dan Method dapat diakses oleh kelas itu sendiri dan oleh kelas
lain melalui objeknya.
·
Protected
Properti dan Method hanya dapat diakses oleh kelas itu sendiri dan kelas
turunannya.
·
Private
Propertii dan Method hanya dapat diakses oleh kelas itu sendiri.
Function setter dan getter
·
Function Setter adalah fungsi yang digunakan untuk
memberikan (set) nilai untuk suatu properti. Umumnya function ini digunakan
untuk properti yang mempunyai visibilitas protected atau private. Function
setter sering digunakan untuk memvalidasi data yang masuk sebelum data tersebut
diisikan ke suatu properti.
·
Function Getter adalah suatu function yang digunakan
untuk menghasilkan (get) suatu nilai baik dari member public, private,
protected ataupun dari hasil perhitungan.
Konsep MVC pada php
MVC (Model View Controller) pattern adalah sebuah pattern yang banyak digunakan untuk
membangun aplikasi web saat ini. MVC pattern terbagi menjadi 3 modul, Model, View dan
Controller :
ü
Model, berfungsi
untuk mengontrol
data, disini dilakukan
proses pengambilan dan
penyimpanan data sebuah sistem, biasanya data berasal dari database yang digunakan
oleh sistem.
ü
View, bertanggung jawab untuk mengatur tampilan dengan format yang spesifik.
ü
Controller,
bertanggung jawab
untuk
meng-handle model
dan view layer
untuk
digabungkan menjadi satu. Controller berposisi di tengah, menghubungkan model dan
view, dan sebagai tujuan utama user dalam melakukan request.
1.
Model
Model adalah layer yang bertanggung
jawab untuk melakukan hubungan menuju
maupun dari database,
Model berisi class dan fungsi seperti Controller, tidak seperti pada
View
Pemanggilan Model hampir sama dengan pemanggilan View, namun
perbedaannya dalam pemanggilan model dilakukan dengan pemanggilan fungsi
2. View
Untuk layer view, kita hanya akan mendefinisikan sebuah template html sebagai tempat untuk menampilkan data. Berikut adalah skrip html untuk layer view.
3. Controller
Sebagai layer yang berfungsi sebagai “play maker”, controller harus mempunyai akses ke model dan view.
Konsep MVC Framework PHP
Pengertian Framework merupakan suatu
perangkat lunak (software) yang bersifat penggunaan ulang suatu library atau
classes yang ada di dalam sistem tersebut untuk menjadi suatu aplikasi. Di
dalam framework PHP, sudah terdapat beberapa classes, objects dan library.
Dengan begitu ketika kita membuat aplikasi menggunakan framework, kita bisa
menggunakan fitur yang sudah ada di dalam software tersebut.
Sebagai contoh, kita ingin mengirimkan email
dan di dalam framework sudah ada library email, jadi tidak usah membuat code
pengirim email, cukup kita panggil function library email. Di dalam Framework
Codeigniter sendiri telah terdapat beberapa library di dalamnya, seperti
library email, cart (keranjang belanja web ecommerce), validasi form,
pagination, session, dan lain-lain. Menarik bukan?
MVC itu sendiri adalah suatu konsep Model –
View – Controller. Pada dasarnya dalam konsep MVC ini, Model merupakan pengolah
data dan berkomunikasi dengan database, View adalah tampilan yang ditampilkan
ke user, sedangkan Controller merupakan pengolah request user dan mengembalikan
request user dalam bentuk View.