Issuu on Google+

Instalasi CAKE PHP 1. Download xampp(yang kupakai versi 1.7.3), install(proses instalasi ini mudah, harusnya kalian bisa, aku install di C:\xampp), jalankan xampp(nyalakan Apache dan MySql), pastikan hasil instalasi tidak ada masalah 2. Download CakePHP(yang kupakai versi 1.3.7-19-g9a94070, tapi ambil yang terakhir pun ga masalah) di https://github.com/cakephp/cakephp/archives/1.3 3. Extract file CakePHP tersebut ke folder C:\xampp\htdocs\ 4. Rename folder hasil ekstrasi menjadi apa saja yang kalian mau, misal rename jadi FirstApp 5. Buka browser, ketikkan http://localhost/FirstApp maka akan muncul tampilan seperti ini

6. Pada tampilan tersebut, css untuk CakePHP belum berfungsi, agar bisa berfungsi, buka file C:\xampp\htdocs\FirstApp\app\config\core.php dan uncomment code yang berada di line 69, seperti di gambar

Menjadi


7. Jika hal tersebut sudah selesai dilakukan, coba refresh kembali FirstApp-nya, maka akan muncul tampilan seperti ini

8. Yang perlu diperhatikan, konfigurasi database, rename file C:\xampp\htdocs\FirstApp\app\config\database.php.default menjadi C:\xampp\htdocs\FirstApp\app\config\database.php 9. Maka warning konfigurasi database akan menjadi hijau

menjadi

10. Namun muncul warning baru, yaitu CAKE is NOT able to connect to the database.

11. Hal ini dikarenakan belum ada database yang dibuat, buka http://localhost/phpmyadmin/, masukkan username root, password root 12. Buat database dengan nama first_app 13. Setelah database berhasil dibuat, buka kembali file database.php


14. Scroll ke paling bawah, temukan code var $default = ..., ubah value login yang tadinya user menjadi root, value password menjadi root. Value database menjadi first_app

Menjadi

15. Untuk var $test = ..., dibuang saja semua 16. Maka tampilan yang akan muncul adalah

17. Namun masih tersisa warning, seperti di gambar

18. Untuk membetulkannya, buka file C:\xampp\htdocs\FirstApp\app\config\core.php, ke code line 202 untuk melihat seperti di gambar

19. Ubah value-nya menjadi terserah kalian, maka warning akan hilang setelah direfresh


20. Untuk instalasi selesai sampai di sini


CakePHP Intro CakePHP adalah framework MVC(Model View Controller), MVC cari tahu sendiri ya artinya apa. Karena CakePHP adalah sebuah framework, maka di dalamnya sudah ada aturan-aturan sendiri yang harus kita ikuti agar development aplikasi menjadi lebih cepat. Aturan tersebut yang paling mendasar adalah penamaan file, class name, function, dll. Akan kita telusuri seiring dengan topik. Model Di CakePHP, per-Model-an dilakukan dengan cara berikut 1. Buka phpmyadmin 2. Buat sebuah table bernama users di database first_app 3. Kolom-kolom untuk table user di antaranya adalah id dengan tipe data INT, username dengan tipe data VARCHAR(10), password dengan tipe data VARCHAR(10). Ubah index id menjadi PRIMARY dan centang AUTO_INCREMENT 4. Setelah table di database dibuat, masuklah ke folder C:\xampp\htdocs\FirstApp\app\models 5. Tempat tersebut adalah folder yang berisikan model-model yang akan kita buat dengan berlandaskan table di database 6. Di dalam folder tersebut, buatlah sebuah file dengan nama user.php 7. Perhatikan bahwa nama file tersebut menggunakan nama yang sama dengan table di database, secara sederhana, hal ini dikarenakan keharusan dari framework CakePHP 8. Dalam file tersebut, buatkan code seperti ini <?php class User extends AppModel{ var $name = 'User'; var $scaffold; } ?> 9. Karena kita menggunakan PHP5 dan PHP5 sudah Object-Oriented, maka kita menggunakan Class 10. Perhatikan bahwa setiap model, harus extends AppModel, ini juga merupakan ketentuan dari CakePHP 11. var $name adalah variabel yang menamakan class secara explisit, intinya isinya sama dengan nama file. Permodelan sementara sampai di sini.


Controller Di CakePHP, terdapat controller yang bertugas mengendalikan model(indexing, add, delete, update) 1. Buatlah sebuah file bernama users_controller.php di C:\xampp\htdocs\FirstApp\app\controller 2. Perhatikan penamaan file tersebut, nama_database + underscore + keyword â&#x20AC;&#x2122;controllerâ&#x20AC;&#x2122; 3. Di dalamnya isikan code berikut <?php class UsersController extends AppController{ var $name = 'Users'; var $scaffold; } ?> 4. Nama class adalah UsersController dan inheritance dari AppController 5. var $name diisi dengan nama table di database 6. var $scaffold dimaksudkan untuk memudahkan developer menggunakan CakePHP 7. Yang bisa dilakukan oleh $scaffold standar CRUD yang VIEW-nya sudah diatur oleh CakePHP 8. Ketika membuka http://localhost/FirstApp/index.php/users maka akan muncul tampilan tanpa warning error 9. Sudah bisa tambah user dengan menu tersebut

10. Klik New User untuk menambah user baru


About Scaffolding Scaffolding adalah cara cepat untuk membuat aplikasi CRUD(Create Read Update Delete). Aplikasi CRUD maksudnya kita bisa melakukan proses INSERT, SELECT, UPDATE dan DELETE. Jadi dengan bantuan scaffolding, kita bisa melakukan hal itu semua dengan mudah tanpa harus membuat banyak file PHP untuk melakukan proses CRUD. Tapi keterbatasan dari scaffolding ini adalah, tentu saja User dari aplikasi yang akan kita bangun memiliki requirement yang lebih dari sekedar CRUD biasa. Contohnya saja untuk Read(SELECT), dengan scaffold, query yang dibentuk adalah SELECT * FROM TABLE_NAME, padahal User bisa saja ingin aplikasi kita menampilkan data yang query-nya seperti SELECT * FROM TABLE_NAME WHERE CONDITION_ONE = A AND CONDITION_TWO = B Jadi scaffolding ini hanya berguna bagi developer, untuk memastikan asosiasi antara table telah terhubungkan dengan benar(asosiasi akan dibahas lebih lanjut). Dengan scaffolding, VIEW tidak perlu kita buat, karena kita mengikuti VIEW dari scaffold, tetapi kalau kita ingin memodifikasi tampilan agar lebih customize, berarti kita tidak bisa menggunakan scaffold dan harus membuat file VIEW. Tampilan index dengan scaffolding

Tampilan tambah user dengan scaffolding

Tampilan edit user dengan scaffolding


Controller without using scaffold Untuk aplikasi yang lebih terkustomisasi, maka dibutuhkan modifikasi file controller agar tidak menggunakan scaffold. 1. Buka kembali file users_controller.php 2. Hapus code yang ada var $scaffold; 3. Tambahkan function index seperti pada gambar

4. Function index tersebut digunakan ketika kita memanggil halaman berikut: http://localhost/FirstApp/index.php/users/ atau http://localhost/FirstApp/index.php/users/index 5. Perhatikan url tersebut, ada pola sebenarnya. Setelah string index.php, terdapat tambahan /users/ itu artinya kita mengakses folder C:\xampp\htdocs\FirstApp\app\view\users dan juga berarti mengakses controller bernama users_controller.php di folder controller. Setelahnya ada string /index, itu sebenarnya adalah function index dari file users_controller.php, jadi pemanggilan URL pada CakePHP terpolakan kira-kira seperti ini: http://localhost/NamaFolderDiHTDOCS/index.php/NAMA_MODEL/PARAMET ER_FUNCTION 6. Agar bisa berjalan, buatlah file index.ctp dan taruh di folder C:\xampp\htdocs\FirstApp\app\view\users 7. Isi dari index.ctp tersebut kira2 seperti ini

8. Jika anda membuka URL tadi, maka akan muncul halaman seperti ini


9. Isi dari function index, dapat dijelaskan seperti ini a. $this->User->recursive = 0; ď&#x192;&#x; mengambil data 1 level saja(nanti akan dijelaskan lagi) b. $listOfUsers = $this->User->find('all'); ď&#x192;&#x; mengambil semua data dari User c. $this->set('users',$listOfUsers); ď&#x192;&#x; set ini agar data User dapat muncul


Cake instalation