Sudah hampir separuh tutorial CodeIgniter ini dikupas dan akhirnya kita sampai di pembahasan inti. Sampai di sini, seharusnya Anda telah menjalankan distribusi CodeIgniter dengan perubahan-perubahan yang kita buat saat mengonfigurasikannya di Langkah 2. Pastinya Anda pun sudah familiar dengan cara kerja model, view, dan controller di CodeIgniter. Di langkah ini, informasi yang telah kami bahas di atas akan digunakan untuk membuat aplikasi web sederhana dengan CodeIgniter.
Desain aplikasi akan dibuat sesederhana mungkin: kami akan menggunakan model kami untuk mengambil nilai review film dari database dan menampilkannya satu demi satu menggunakan view. Controller akan digunakan untuk me-route permintaan antara model dan view. Setelah memahami prinsip CodeIgniter, Anda bisa langsung membuat aplikasi web kaya fitur.
Pre-Requisite
Seperti yang telah disebutkan di bagian pengenalan tutorial CodeIgniter ini, pembaca diharapkan telah menguasai pengetahuan dasar tentang MySQL. Untuk contoh aplikasi yang hendak dibuat, kami membuat tabel tunggal (single) yang diberi nama reviews . Tabel tunggal ini memiliki 3 kolom yang diberi nama id (primary key dan auto-increment), title dan grade.
Buat tabel seperti di atas yang nantinya menjadi basis aplikasi Anda. Seharusnya CodeIgniter telah mengakses database Anda jika instruksi di Langkah 2 dilakukan dengan benar. Setelah tabel dibuat, isilah dengan value tiruan (mock value).
Model
Setelah keseluruhan database diatur, kita akan mulai mengolah logika bisnis. Pertama-tama, buat sebuah model yang akan mengambil value dari database.
Model ditempatkan di direktori applications/models CodeIgniter. Langkah ini dilakukan untuk mencegah kekacauan struktur direktori aplikasi Anda. Buka direktori dan buat file PHP baru yang diberi nama reviews_model.php.
Salin kode di bawah ini ke file baru yang telah selesai dibuat:
Seperti yang kita ketahui, model class News_model memperluas Cl_Model class generic yang disediakan oleh CodeIgniter. Ingatlah juga bahwa huruf pertama class Anda haruslah kapital – CodeIgniter mensyaratkan agar seluruh nama class diawali dengan huruf besar.
Sekarang load library Database yang telah kita bahas di Langkah 3 demi memudahkan Anda melakukan pekerjaan dengan database. Anda dapat menggunakan metode constructor yang dimiliki model. Metode ini secara efektif akan meload library dari awal. Agar cara ini dapat dilakukan, salin kode berikut ini ke dalam class yang telah dibuat:
Kini library Database dapat terlihat di tiap metode di dalam class. Selanjutnya, kita harus membuat metode lain yang akan menggunakan library Database ini untuk merancang query di database:
Metode di atas hanya menerima ID sebagai argumen dan mengembalikan semua informasi ke dalam kolom yang berkaitan dengan ID tersebut. Jadi, metode ini akan digunakan tiap kali kita meminta review atau ulasan sebuah film.
Controller
Layer pengambilan data telah dibuat. Sekarang saatnya kita membuat route sehingga pada saat user meminta ulasan film, view yang belum dibuat dilengkapi informasi yang didapat dengan menggunakan model.
Untuk membuat controller baru, buka direktori applicaton/controllers dan buat sebuah file dengan nama reviews.php. Catatan: controller CodeIgniter menginstruksikan bahwa nama file sebaiknya sama dengan nama class yang ditentukan di dalam file tersebut. Setelah file dibuat, buka dan salin kode berikut ini ke dalamnya:
Sekarang yang harus kami lakukan adalah membungkus data yang diterima dari model dan menyimpannya di view. Untuk melakukannya, kami akan membuat sebuah metode dengan nama show() yang nantinya mengikat data ini ke struktur yang baru dibuat dan meload view dengan struktur yang tersimpan di dalamnya.
$data adalah array asosiatif dengan key title dan grade yang sesuai dengan value yang diterima dari database. Array ini akan dikirim ke view yang diberi nama movie_review. Segera setelah itu, view akan diload.
View
Langkah terakhir, sebuah view harus dibuat untuk menampilkan ulasan film yang diminta.
Masuk ke folder application/views dan buat file baru berjudul movie_review.php. Catatan: nama file tersebut harus sesuai dengan nama yang Anda sampaikan ke controller untuk diload (di akhir line metode show()). Setelah file dibuat, salin kode berikut ini ke dalamnya:
View menampilkan judul, sebagaimana peringkat film, sesaat setelah kedua informasi ini disampaikan oleh controller di dalam array $data. Tentu saja, hasilnya tidak begtu bagus karena kami belum memasukkan style apa pun ke view. Anda dapat menambahkan inline styling (tidak disarankan) atau memberi referensi CSS stylesheet di view.
Contoh aplikasi kami sudah selesai dibuat. Diharapkan Anda dapat menjalankan aplikasi ini dengan mengetikkan URL berikut ini di browser:
http://yourdomain.com/reviews/show/1
URL ini menampilkan controller reviews yang telah kami buat di Langkah 4.3. Pun menampilkan metode show() dengan nilai input 1 sebagai parameter. Parameter ini diambil sebagai ID film yang akan digunakan untuk menarik informasi database tentang film dengan ID = 1. User akan melihat judul dan ulasan peringkat dari film pertama yang muncul di database.
COMMENTS