Tutorial Dasar CakePHP


CakePHP adalah sebuah framework atau kerangka kerja untuk membuat aplikasi CRUD (Create, Read, Update, Delete) berbasis bahasa pemrograman PHP yang dikembangkan oleh Michal Tatarynowicz. CakePHP juga menjadi salah satu framework pilihan yang memungkinkan seorang developer web untuk membuat sebuah aplikasi dengan karakter pengembangan RAD (Rapid Application Development), yang memungkinkan untuk digunakan dan dikembangkan menjadi aplikasi lain yang lebih kompleks. CakePHP memiliki hubungan yang cukup erat dengan Ruby on Rails, sebuah framework pemrograman Ruby.

KELEBIHAN CAKEPHP

Kelebihan CakePHP antara lain :

1. Open Source.
2. Memiliki banyak komunitas dan forum.
3. Dokumentasi yang lengkap. Untuk referensi lebih lengkap (gunakan manual dan API CakePHP), silahkan buka http://www.cakephp.org
4. Kompatibel dengan PHP versi 4 dan 5.
5. Dukungan terhadap banyak database enginge seperti :

mysql – MySQL 4 & 5
mysqli – MySQL 4 & 5 Improved Interface (PHP5 only)
sqlite – SQLite (PHP5 only)
postgres – PostgreSQL 7 and higher
mssql – Microsoft SQL Server 2000 and higher
db2 – IBM DB2, Cloudscape, and Apache Derby
oracle – Oracle 8 and higher
firebird – Firebird/Interbase
sybase – Sybase ASE
adodb-[drivername] – ADOdb interface wrapper
odbc – ODBC DBO driver
6. Menggunakan arsitektur MVC (Model-View-Controller). Model-View-Controller (MVC) adalah sebuah pendekatan arsitektur pengembangan perangkat lunak yang memisahkan model data, antarmuka pengguna, dan logika kontrol sebagai tiga komponen yang berbeda, sehingga pemodifikasian komponen tersebut menjadi lebih mudah. Hal ini juga dimaksudkan agar dapat menghindari terjadinya spagetti code. Adapun penjabarannya yaitu:

  • Model merepresentasikan struktur data yang dibangun. Umumnya kelas model berisi fungsi-fungsi yang membantu developer untuk mengelola, memasukkan, dan mengupdate informasi dalam database.
  • View adalah informasi yang disajikan untuk user, berupa tampilan atau user interface. View umumnya adalah tampilan sebuah halaman web itu sendiri, tetapi dapat juga menjadi bagian-bagian atau penggalan-penggalan halaman seperti header atau footer.
  • Controller bertugas sebagai penghubung antara Model, View, dan beberapa resource lainnya yang dibutuhkan untuk memproses HTTP request dan unuk men-generate sebuah halaman web. Controller biasanya berisi logic utama aplikasi atau proses bisnis.
7. ACL (Access Control List) yang fleksibel. CakePHP memungkinkan pengaturan user dan hak aksesnya dalam aplikasi yang kita kembangkan, dengan sarana yang lebih mudah dipahami.
8. Memiliki fitur scaffolding. Hanya dengan menambahkan pada file controller Anda code : var $scaffold ; maka CakePhp akan secara otomatis mengenerate semua yang dibutuhkan untuk membuat aplikasi CRUD (Create, Read, Update, Delete) secara lengkap.
9. Request dispatcher dengan URL yang custom, rapih dan adanya route.
10. Validasi data yang terintegrasi.
11. Support AJAX dan ORM (Object Relational Model). Library AJAX di dalam CakePHP sudah disediakan, kita tinggal memakainya aja
12. Email, Cookie, Keamanan, Session, dan component request handling.
13. Sanitasi Data.
14. Caching yang fleksibel.
15. Lokalisasi.
16. Dapat bekerja dari direktori web dimana saja, dengan sedikit atau bahkan tanpa perlu melibatkan konfigurasi Apache.
17. Memiliki fitur bake, dimana kita bisa dengan sangat-sangat mudah membangun web dengan fitur ini.

KEKURANGAN CAKEPHP

Kekurangan CakePHP antara lain :

1. Manual yang ada tidak selengkap Code Igniter.
2. Menerapkan konsep MVC secara strict sehingga banyak aturan/convention yang harus dipatuhi.
3. Tidak support EDP (Even Driven Programming).

INSTALASI CAKEPHP

Langkah – langkah dalam meng-install CakePhp :

1. Sediakan web server yang mendukung PHP. Dalam hal ini bisa menggunakan Apache sebagai web server.
2. Sediakan database server (optional). Dalam hal ini bisa menggunakan MySQL sebagai database server.
3. Sediakan php mulai versi 4. Untuk lebih praktis bisa menggunakan XAMPP atau LAMPP yang sudah membundle Apache, PHP dan MySQL menjadi satu paket.
4. Download CakePhp di http://cakephp.org/ dan pilih versi yang stable. Versi terbaru bulan Maret 2011 yaitu 1.3.7

a. Extract source CakePhp dan ganti namanya misal menjadi CakePhp.
b. Letakkan folder CakePhp pada root directory dari web server. Jika menggunakan XAMPP, letakkan didalam folder htdocs.
c. Adapun susunan dari instalasi Cake adalah sebagai berikut :

Susunan Folder CakePhp

Penjelasannya sebegai berikut : Terdapat 4 buah folder utama, yaitu app, cake, plugins dan vendors. Folder app merupakan tempat menyimpan aplikasi yang kita buat, folder cake merupakan library cakephp dan folder ini jangan diutak-atik, folder vendors merupakan tempat menyimpan library tambahan dari pihak ketiga. Didalam folder app terdapat beberapa folder yang harus lebih kita perhatikan dengan seksama, seperti :

config Menyimpan konfigurasi files seperti database, ACL, bootstrap, routes dll.
controllers Menyimpan file-file controllers.
libs
locale Menyimpan file string untuk internasionalisasi.
models Menyimpan models database.
plugins Menyimpan paket plugin.
tests
tmp Menyimpan temporary data.
vendors Tempat menyimpan library pihak ketiga.
views Menyimpan file-file yang berhubungan dengan tampilan.
webroot Menyimpan file-file gambar, CSS, javascript dll.
5. Mengubah nilai Security.salt dan Security.cipherSeed (Optional). Jika tidak dilakukan tidak apa2 sebenarnya, tetapi CakePHP menyarankannya. Secara default Cake PHP sudah memberikan default hashing code, tetapi sangat disarankan agar setiap developer tidak menggunakan default hashing code untuk alasan keamanan. Pengubahan nilai dengan cara :

a. Buka/ubah file core.php di folder CakePhpnya yang biasanya terletak di direktori /app/config/core.php.
b. Ubah pada baris Configure::write(‘Security.salt’, ‘DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi’) misalnya dengan Configure::write(‘Security.salt’, ‘DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9midadan‘);
c. Ubah pada baris Configure::write(‘Security.cipherSeed’, ‘76859309657453542496749683645’) misalnya dengan Configure::write(‘Security.cipherSeed’, ‘768593096574535424967496836452383‘);

6. Load module rewrite_module di file httpd.conf dengan cara :

a. Buka/ubah file httpd.conf dari Apache web server. Bisa ditemukan di dalam folder …/xampp/apache/conf.
b. Hapus tanda # (tanda pagar) pada baris module yang ingin kita load. Dalam hal ini adalah: LoadModule rewrite_module modules/mod_rewrite.so.
c. Restart Apache web server.

MENJALANKAN CAKEPHP

Untuk menjalankan CakePhp dengan cara :

1. Jalankan Apache Web server.
2. Buka web browser.
3. Ketikkan di addressnya dengan format http://localhost/directory_cake/, dicontoh ini dengan mengetikkan http://localhost/CakePhp.

Welcome Page tanpa load module rewrite_module

Welcome Page dengan load module rewrite_module

DATABASE CONNECTION

Untuk melakukan koneksi terhadap database di CakePhp cukup simple. Dicontoh ini menggunakan database enginge MySQL. Buatlah 1 buah database, sebagai contoh dengan nama dbcakephp dengan 1 buah table students dengan kolom ID (Char [3]), NM_SISWA (Varchar [50]) dengan kolom ID sebagai primary keynya. Pembuatan database dan table bisa melalui phpmyadmin atau database tools lainnya. Langkah-langkah koneksi dengan CakePhp sebagai berikut :

1. Jika pertama kali menggunakan CakePhp, ubah nama file database.php.default menjadi database.php. File tersebut terletak di directory /app/config/database.php.default didalam folder CakePhp.
2. Lakukan perubahan pada bagian DATABASE_CONFIG dan isikan nilai $default dan $test dengan parameter-parameter yang dibutuhkan untuk melakukan koneksi ke dalam database yang tersedia.

Driver diisi dengan database enginge yang digunakan, persistent diisi dengan value true/false, host diisi dengan lokasi dari database server, login dan password diisi dengan username dan password yang dapat digunakan untuk melakukan akses ke dalam database, database diisi dengan nama database yang kita gunakan dan prefix bisa juga kita kosongkan.

3. Dicontoh ini mengisi DATABASE_CONFIG dengan value berikut ini :

class DATABASE_CONFIG {
      var $default = array(
            'driver'       => 'mysql',
            'persistent'   => false,
            'host'         => 'localhost',
            'login'        => 'root',
            'password'     => '',
            'database'     => 'dbcakephp',
            'prefix'       => '',
      );
      var $test = array(
            'driver'       => 'mysql',
            'persistent'   => false,
            'host'          => 'localhost',
            'login'        => 'root',
            'password'     => '',
            'database'     => 'dbcakephp',
            'prefix'       => '',
      );
}
4. Jalankan CakePhp, jika berhasil koneksi ke database akan mengirimkan pesan ‘Cake is able to connect to the database.’ dan jika tidak berhasil koneksi ke database akan menampilkan pesan ‘Cake is NOT able to connect to the database.’

Berhasil koneksi ke database

Gagal koneksi ke database

Cukup jelas bukan tutorial dasar cakephp nya?? Untuk membuat projek baru di cakephp cukup simple, dengan menggunakan console/command line dengan memanfaatkan feature bake. Postingan tentang bake bisa dilihat disini!!!. Untuk naming convention di CakePhp bisa diliat di postingan ini sedangkan untuk mendapatkan dokumentasi offline-nya bisa diliat disini nih.

5 thoughts on “Tutorial Dasar CakePHP

  1. Pingback: Naming Convension CakePHP « Cingkarabala

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s