CRUD Operation with Cake PHP

|

Cake PHP benar-benar merupakan framework yang sangat nyaman digunakan. Dalam tullisanku kali ini, aku akan mencoba mencontohkan betapa mudahnya melakukan operasi CRUD -Create, Read, Update, Delete- dengan memanfaatkan scaffold pada Cake PHP.

Langkah pertama yang harus dilakukan adalah membuat database dan table. Misalkan saja dalam kasus ini kita akan menggunakan MySQL sebagai Database Server.
Yang akan kita lakukan adalah membuat sebuah database dengan nama latihan.

CREATE DATABASE latihan;

Selanjutnya kita akan membuat sebuah table. Misalkan saja kita akan membuat sebuah aplikasi yang dapat menampung data-data film favorit, maka kita akan membuat sebuah table dengan nama movies. Oh ya ada hal penting yang harus diperhatikan di sini, kenyamanan dalam menggunakan Cake PHP baru benar-benar kita dapatkan selama kita mengikuti konvensi-konvensi penamaan yang ditetapan oleh Cake. Kovensi pertama yang harus kita perhatikan adalah, setiap kali kita membuat table, maka table yang kita buat harus diberi nama plural. Sebagai contoh di sini kita membuat table dengan nama movies (plural) dan bukan movie (singular). Konvensi semacam ini jangan dipandang remeh karena Cake PHP memiliki semboyan "Convention over Cofiguration", yang pada intinya Cake PHP akan membantu kita dalam menangani konfigurasi-konfigurasi dasar secara otomatis (tanpa perlu campur tangan kita sama sekali) selama kita menerapkan setiap konvensi penamaan yang ditetapkan.
Konvensi berikutnya berkenaan dengan table adalah setiap table harus memiliki sebuah primary key bernama id dan bertipe int auto increment.

CREATE TABLE movies (
id int(10) auto_increment PRIMARY KEY,
judul varchar(50),
pemain varchar(50),
sinopsis text
);

Setelah table tersedia, maka kita sudah siap untuk melakukan baking cake :)
Caranya sederhana sekali, kita cukup melakukan baking cake dengan menggunakan CLI (Command Line Interface). Pertama-tama kita harus masuk terlebih dahulu ke dalam root directory dari web server yang kita miliki. Misalkan saja dalam kasus kali ini aku menggunakan xampp sebagai dengan Apache sebagai web servernya. Maka yang perlu aku lakukan adalah mengetikkan perintah berikut ini.

C:\xampp\htdocs>cake bake percobaan

Perintah tersebut diperlukan setiap kali kita ingin membuild sebuah project baru dengan Cake PHP. Setelah perintah tersebut dieksekusi, kita akan diminta untuk menginputkan beberapa parameter dasar yang memang dibutuhkan oleh Cake untuk melakukan akses ke database yang baru saja kita buat. Setelah semua parameter dasar tersebut kita inputkan, maka akan terbentuk directory baru bernama percobaan di dalam root directory dari web server kita. Untuk melihat apakah project baru yang kita definisikan berhasil atau tidak, kita dapat mencobanya dengan melakukan akses via web browser ke http://localhost/percobaan.

Ok sekarang sudah saatnya kita memasuki tahapan penting di mana kita mulai megimplementasikan konsep MVC -Model View Controller- dalam Cake PHP.
Setiap table yang kita miliki harus dibuatkan model dalam Cake. Berkenaan dengan model ada beberapa konvensi yang harus diikuti. Pertama, nama file untuk model harus sesuai dengan table yang direferensikannya dan ditulis dalam format singular. Dalam kasus ini nama file dari model kita adalah movie.php. File tersebut harus diletakkan di dalam directory ./percobaan/models/. Kedua, nama class dari suatu model harus singular dan ditulis dalam format Camel Case. Camel Case merupakan sebuah istilah di mana huruf pertama dari setiap kata dalam nama class ditulis dalam huruf besar (upper case). Dalam kasus kali ini nama class dari model kita adalah Movie. Tetapi bila kita memiliki nama class yang terdiri dari dua suku kata, maka kita dapat menuliskannya sebagai berikut DaftarFilm. Dan perlu diingat juga bahwa nama class harus disesuaikan dengan nama filenya.

movie.php



Untuk membuat model dalam Cake sebenarnya kita bisa menggunakan fasilitas bake model. Tetapi ini akan aku bahas dalam tulisanku berikutnya.

Setelah model dibuat, selanjutnya kita akan membuat controller. File controller akan dibuat di dalam directory ./percobaan/controller/. Dalam membuat controller pun kita harus memperhatikan konvensi penamaan yang ditetapkan. Pertama, nama file controller yang mengacu pada data harus dituliskan dalam format plural dan diakhiri dengan _controller. Misalkan saja dalam kasus kali ini nama file controller yang akan kita buat adalah movies_controller.php. Kedua, nama class controller harus disesuaikan dengan nama file controller (plural) dan diakhiri dengan Controller menggunakan format Camel Case. Dalam contoh kita ini, maka nama class controller kita adalah MoviesController.

movies_controller.php



Dalam kasus ini kita menggunakan fitur scaffold dari Cake PHP di mana kita sama sekali tidak perlu ambil pusing perihal operasi CRUD termasuk dalam hal membuat tampilan HTML untuk operasi CRUD tersebut. Sekarang mari kita bersama-sama melihat kehebatan Cake PHP dalam menangani operasi CRUD dan menjadikannya begitu simple bagi seorang developer. Untuk melihat hasilnya kita dapat melakukan akses via web browser ke http://localhost/latihan/movies
Kita akan mendapati tampilan dasar yang sudah otomatis dibuatkan oleh fitur scaffold di mana kita dapat dengan mudahnya melakukan penambahan, pengeditan, dan penghapusan data-data film favorit kita :) Luar biasa sekali bukan?

2 comments:

Anonymous said...

kalo nama tabel kita dalam bahasa indonesia gimana? contohnya 'mahasiswa', kalo dalam bentuk prulal jadi 'mahasiswas' donk?

boedybios said...

Iya mesti kayak gitu.
Prinsip utama di Cake adalah Convention Over Configuration :D