16 April 2012

Memulai cakePHP 2.x Framework

follow article
 

Saya beranggapan, untuk memulai belajar cakePHP framework adalah dengan langsung mempraktekkan perintah bake melalui console. Karena perintah bake akan menghasilkan file model, view, dan controller (MVC) yang sudah memenuhi best practise dalam pemrograman cakePHP. Jika selanjutnya ingin membuat kode secara manual, kita bisa mengikuti kaidah-kaidah yang diterapkan dalam proses bake.

Artikel ini akan menjelaskan tahap demi tahap membangun modul news dengan cakePHP framework, yang dibangun dalam lingkungan Ubuntu 11.10.

Siapkan Database

Untuk latihan, kita siapkan database sederhana, berupa satu tabel news. Saya menggunakan Mysql, buka terminal dan jalankan perintah berikut.

mysql -uroot -prahasia
create database lat_cake_db;
use lat_cake_db;
CREATE TABLE news (
	  id char(36) NOT NULL PRIMARY KEY,
	  title varchar(100) NOT NULL,
	  content text NOT NULL,
	  created datetime NOT NULL,
	  modified datetime NOT NULL);

Download cakePHP 2.x

Silahkan download cakePHP 2.x versi terakhir (saat ini 2.1.1), extract di folder library Anda, misalnya di folder /var/lib. Kemudian rename folder hasil extract (cakephp-cakephp-0cad237) menjadi cakephp2.x, lalu hapus folder /var/lib/cakephp2.x/app . Jika melalui console, Anda bisa jalankan perintah berikut :

cd /var/lib
sudo unzip /home/my_account/Downloads/cakephp-cakephp-2.1.1-0-g43cf2f0.zip
sudo mv cakephp-cakephp-0cad237/ cakephp2.x
sudo rm -rf /var/lib/cakephp2.x/app/

CakePHP mendukung url yang cantik jika module rewrite telah diaktifkan. Jika Anda belum mengaktifkan module rewrite di httpd.conf, Anda bisa buka file httpd.conf dan aktifkan (buang tanda #) pada baris LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so serta pada setting-an document root (/var/www) pastikan nilai AllowOverride-nya adalah All (bukan None).

Perintah bake

Sekarang kita bisa mulai melakukan perintah bake. Buka console jalankan perintah
php -q /var/lib/cakephp2.x/lib/Cake/Console/cake.php bake

Muncul dialog meminta kita memasukkan path project yang hendak kita buat. Masukkan full path project, misalkan /var/www/latihan_cake (/var/www adalah path WWW ROOT).

Kemudian muncul dialog meminta memasukkan path template yang hendak digunakan, dengan tawaran default /var/lib/cakephp2.x/lib/Cake/Console/Templates/skel. Kita terima default ini dengan menekan tombol enter.

Kemudian muncul dialog menanyakan persetujuan apakah sudah sesuai dengan yang diinginkan. tekan enter saja. Jika muncul dialog pertanyaan-pertanyaan selanjutnya, dan kita menyetujui nilai default yang ditawarkan, langsung tekan enter saja.

Pada dialog konfigurasi database, isikan nilai berikut :
Name : default
Datasource : Mysql
Persisten Connecton : n
Database host : localhost
Port : n
User : root
Password : rahasia (masukkan password mysql Anda)
Database Name : lat_cake_db
Table Prefix : n
Table encoding : n  
Look Okay : y
Do you wish to add another database configuration : n

Setelah selesai proses bake, hasilnya bisa dilihat dengan membuka folder dan file yang dibuat oleh proses bake, yaitu folder /var/www/latihan_cake, dan membuka url : localhost/latihan_cake di browser favorit Anda.

Jika terjadi error karena konstanta CAKE_CORE_INCLUDE_PATH tidak dikenal, pastikan file /var/www/latihan_cake/webroot/index.php baris 61 diaktifkan, yaitu sintaks define('CAKE_CORE_INCLUDE_PATH',  DS . 'var' . DS . 'lib' . DS . 'cakephp2.x' . DS . 'lib');

Ini adalah tampilan halaman welcome pada aplikasi yang dibuat melalui perintah bake.
home cake app

Jika ada tampilan Warning: strtotime(), edit file APP/Config/core.php dan aktifkan (uncomment) baris 230 yaitu : date_default_timezone_set('UTC'); Kode baris ini bisa juga diubah menjadi : date_default_timezone_set('Asia/Jakarta');

Sekarang kita akan melakukan perintah bake untuk membuat module news.
php -q /var/lib/cakephp2.x/lib/Cake/Console/cake.php -app /var/www/latihan_cake/ bake all

Muncul dialog untuk memilih model (saat ini kita hanya punya 1 model : News), masukkan angka satu untuk membentuk modul News. Pada dialog PHPUnit is not installed. Do you want to bake unit test files anyway? (y/n)  tekan n.

Dari proses di atas, terbentuk file /var/www/latihan_cake/Controller/NewsController.php, /var/www/latihan_cake/Model/News.php, dan folder /var/www/latihan_cake/View/News beserta isinya. Untuk melihat hasilnya, bisa dibuka url : localhost/latihan_cake/news 
news cake

Bagaimana? Ternyata simple dan cepat jika membuat aplikasi dengan perintah bake.

follow article


Ada 4 komentar untuk artikel ini

Saya sih tahunya baking kue atau baking powder hehehehe.. Tetap semangat ya...
 
Miranda
from (Unknown Country?)
on Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2; .NET
iya, bake memang cara cepat untuk bikin cake :p
Terima kasih dukungan-nya :)
 
Rijal Asep Nugroho
from (Unknown Country?)
on Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0
Weleh2 Lanjut pak rijal untuk tahap 2.0 berikutnya he2xx
 
barry
from INDONESIA
on Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0
Hello! befbfkd interesting befbfkd site! I'm really like it! Very, very befbfkd good!
 
Pharmc417
from UNITED STATES
on Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
 

Leave Comment

<i>, <u>, <b> and <a>

Captcha


Reload image