CakePHP Framework 1

17
  IT-612 Pengembangan Sistem Berbasis Komponen Feb 17 2012 Pengembangan Sistem Berbasis Komponen dengan Framework CakePHP Diselenggarakan oleh: Kelompok Keahlian Rekayasa Perangkat Lunak  Jurusan Teknik Informatika    Unpas (c) Ayi Purbasari  Modul Praktikum #1 

Transcript of CakePHP Framework 1

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 1/16

 

IT-612

PengembanganSistem Berbasis

Komponen 

Feb 17

2012 

Pengembangan Sistem Berbasis Komponen denganFramework CakePHPDiselenggarakan oleh:Kelompok Keahlian Rekayasa Perangkat Lunak 

 Jurusan Teknik Informatika  –  Unpas(c) Ayi Purbasari 

ModulPraktikum

#1 

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 2/16

I

If - Unpas

D AFTAR ISI 

1  PENGANTAR ................................................................................. 1 

1.1  C AKEPHP FRAMEWORK ........................................................................ 1 1.1.1  Kebutuhan Sistem ................................................................................................ 1 

1.1.2  Memperoleh CakePHP Framework .................................................................. 1 

1.1.3  Pengaturan CakePHP Framework .................................................................... 2 

1.1.4  Konfigurasi Database .......................................................................................... 2 

1.1.5  Konfigurasi Utama .............................................................................................. 4 

1.1.6  Kelas Konfigurasi ................................................................................................ 4 

1.1.8  Konstanta Konfigurasi ........................................................................................ 5 

1.1.9  Struktur Direktori di CakePHP ......................................................................... 5 

1.2 

S TRUKTUR K ERJA C AKEPHP ................................................................ 7 

1.2.1  Controllers Pada CakePHP Framework ........................................................... 8 

1.2.2  Models Pada CakePHP Framework .................................................................. 9 

1.2.3   Views Pada CakePHP Framework .................................................................... 9 

1.2.4  Helpers Pada CakePHP Framework ................................................................. 9 

1.2.5  Components Pada CakePHP Framework ........................................................ 11 

1.2.6  Behaviors Pada CakePHP Framework ............................................................. 11 

1.2.7  CakePHP Console ............................................................................................... 12 

1.2.8  Plugin Pada CakePHP Framework ................................................................... 13 

1.2.9  Scaffolding Pada CakePHP Framework ........................................................... 13 

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 3/16

I I

If - Unpas

D AFTAR G AMBAR  Gambar 1-2 Struktur Direktori CakePHP ............................................................... 6 

Gambar 1-3 Struktur Kerja CakePHP Framework ................................................ 7 

D AFTAR  T ABEL  Tabel 1-2 Konfigurasi Database .............................................................................. 2 

 Tabel 1-3 Variabel Kelas Konfigurasi ..................................................................... 4 

 Tabel 1-4 Folder pada Direktori app CakePHP .................................................... 6 

 Tabel 1-5 Tabel Helpers ............................................................................................ 9 

 Tabel 1-6 Tabel Command-Line pada Console CakePHP ................................. 12 

D AFTAR K ODE Kode 1-1 Konfigurasi Database ................................................................................ 2 

Kode 1-2 Contoh Kode pada Controllers ............................................................... 8 

Kode 1-3 Kode pada AppControllers ...................................................................... 8 

Kode 1-4 Contoh Kode Behaviors ......................................................................... 11 

Kode 1-5 Memasukan Data ke dalam Behaviors .................................................. 12 

Kode 1-6 Metode Behaviors .................................................................................... 12 

Kode 1-7 Pemanggilan Scaffolding ........................................................................ 13 

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 4/16

[ C A K E P H P ]

If - Unpas

11  P E N G A N T A R   

Dalam bagian ini, kita akan mendiskusikan karateristik web dan webFramework dan pengenalan CakePHP 

 yang terdiri dari: pengenalan CakePHP dan melakukan konfigurasi. Membuat program dengan memanfaatkan scaffolding. Pada akhir bagian ini ini, peserta diharapkan dapat menguasai : 

•  Melakukan instalasi dan konfigurasi CakePHP

•  Memahami struktur kerja CakePHP

1 . 1  C A K E P H P F R A M E W O R K

Dalam melakukan instalasi CakePHP ada beberapa hal yang harus dipersiapkan sepertikebutuhan sistem yang digunakan, cara memperoleh CakePHP tersebut, dan tipe instalasi

yang digunakan.

1 . 1 . 1   KEBU TU HA N SISTEM

CakePHP dapat diinstall dengan mudah dan cepat. Persyaratan minimum yang diperlukanhanyalah web server  dan salinan dari CakePHP. selanjutnya hanya berfokus pada setting   Apache. CakePHP dapat berjalan di berbagai macam web server  seperti LightHTTPD atauMicrosoft IIS. Beberapa yang dibutuhkan untuk instalasi CakePHP seperti :

•  HTTP Server. Apache dengan mod_rewrite lebih dianjurkan, tapi tidak wajib.

•  PHP 4.3.2 atau versi di atasnya. Karena CakePHP dapat berfungsi di PHP 4 dan 5.

Untuk database , CakePHP juga mendukung beragam database storage engine seperti :

•  MySQL (4 atau versi di atasnya)

•  PostgreSQL

•  Firebird DB2

•  Microsoft SQL Server

•  Oracle

•  SQLite

•  ODBC

•   ADOdb

1 .1 . 2   M EM P EROL EH CA KEP HP F RA M EWORK 

  Ada dua cara untuk mendapatkan salinan terbaru CakePHP. Pertama, men-download  arsipdalam format kompresi (zip/tar.gz/tar.bz2), atau melakukan check out kode langsung darirepositori (SVN).

Untuk mendapatkan salinan terbaru CakePHP, dapat mengunjungi web sitehttp://www.cakephp.org . Sedangkan  project  seputar CakePHP pada

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 5/16

[ C A K E P H P ]

If - Unpas

2

http://cakeforge.org/projects/cakephp. 

1 . 1 . 3   P ENGA TU RA N CA KEP HP F RA M EWORK 

CakePHP bekerja dengan mod_rewrite . Inilah beberapa hal yang perlu di set agar dapat bekerjasecara tepat:

•  Pastikan .htaccess override is allowed . Dalam httpd.conf , merupakan bagian yang mendefinisikan direktori server. Pastikan  AllowOverride diset ke  All  untuk  DocumentRoot  yang sesuai.

•   Yang perlu di set adalah httpd.conf sistem, bukan httpf.conf user- atau site-tertentu.

•  Salinan CakePHP dapat di download dari situs atau repositori SVN CakePHP.

•  Pastikan mod_rewrite  secara benar. Karena dilengkapi dengan LoadModulerewrite_module libexec/ httpd/mod_rewrite.so dalam httpd.conf. serta pastikan tidak berupa komentar (dengan penambahan # di awal). Setelah itu, restart Apache untuk memastikan tata conf aktif.

•  Dalam menginstal CakePHP pada direktori pengguna(http://example.com/~username), diperlukan setting berkas .htaccess pada basedirektori tempat instalasi CakePHP. Cukup tambahkan baris "RewriteBase/~myusername/".

1 . 1 . 4   KONF IGU RA SI DA TA BA SE

Konfigurasi database  CakePHP disimpan di dalam sebuah file, yaitu diapp/config/database.php. Contoh dari file konfigurasi database dapat dilihat diapp/config/database.php.default. Sebuah konfigurasi yang sudah benar seharusnya akanterlihat kurang lebih seperti ini :

Kode 1-1 Konfigurasi Database

Secara default, $default lah yang akan digunakan, kecuali berbeda $useDbConfig padamodel. Sebagai contoh, jika aplikasi memiliki database legacy sebagai tambahan pada default,

maka dapat menggunakannya pada model dengan membuat koneksi baru ke database$legacy yang array nya kurang lebih sama dengan array $default. Caranya adalah denganmenset var $useDbConfig = `legacy` pada model.

Berikut ini merupakan keterangan setiap key pada konfigurasi database CakePHPFramework, antara lain :

 Tabel 1-1 Konfigurasi Database

Key Keterangan

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 6/16

[ C A K E P H P ]

If - Unpas

3

Driven  sebagai nama dari driver database yang akan digunakan disini.Examples: mysql, postgres, sqlite, pear-drivername, adodb-drivername, mssql, oracle, atau odbc.

Persistent  penggunaan perlu tidaknya menggunakan koneksi secara persistent kedalam database.

Host  sebagai hostname dari server database (atau alamat IP address nya).Login  sebagai username yang digunakan untuk login ke dalam database.Password  sebagai password yang digunakan untuk login ke dalam database.Database  sebagai nama dari database yang akan digunakan.Prefix  sebuah String yang digunakan sebagai prefiks dari setiap tabel di

dalam database. Jika tidak menggunakan prefiks pada nama tabel,kosongkan bagian ini.

Port  sebagai port TCO atau Unix socket melakukan koneksi ke databaseserver

 Encoding  untuk menentukan karakter apa yang digunakan untuk mengirimkanpernyataan SQL ke server

Schema  digunakan pada database PostgreSQL untuk menentukan schemamana yang akan digunakan.

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 7/16

[ C A K E P H P ]

If - Unpas

4

1 .1 . 5   KONF IGU RA SI U TA M A

Pada CakePHP, konfigurasi aplikasi terletak di /app/config/core.php. Isi file ini adalahkumpulan definisi variabel dari kelas konfigurasi dan definisi konstanta yang menentukanbagaimana aplikasi akan bekerja. Sebelum melihat lebih dalam mengenai variabel ini, harusterbiasa dulu dengan konfigurasi, kelas register pada konfigurasi CakePHP.

1 . 1 . 6   KEL A S KONF IGU RA SI

Kelas konfigurasi digunakan untuk mengatur kumpulan dari variabel konfigurasi utamaCakePHP. Variabel - variabel ini dapat ditemukan di app/config/core.php. Deskripsi daritiap variabel dan apa pengaruhnya terhadap aplikasi CakePHP dijelaskan pada tabel di bawahini:

 Tabel 1-2 Variabel Kelas Konfigurasi

  Variabel Keterangan

Debug  Mengubah keluaran (output) dari debugging CakePHP. 0 = Mode

produksi, tidak ada keluaran. 1 = Pesan error dan peringatanditampilkan. 2 = Pesan error, peringatan, dan SQL ditampilkan. 3 =Pesan error, peringatan, SQL, dan dump lengkap dari controllerditampilkan.

  App.baseUrl Hilangkan komentar (Un-comment) definisi ini, jika tidak  berencanauntuk menggunakan mod_rewrite Apache dengan CakePHP. Jangan lupa untuk menghapus berkas .htaccess.

Routing.admin Hilangkan tanda komentar pada definisi ini jika ingin memanfaatkanadmin routes dari CakePHP.

Cache.disable Jika di set true, maka caching akan dimatikan untuk seluruh bagian website.

Cache.check Jika di set true, mengaktifkan cache untuk view. Pengaktifan masihdiperlukan di dalam controller, tetapi variabel ini juga mengaktifkandeteksi terhadap setting tersebut.

Session.save Memberitahu CakePHP mekanisme penyimpanan session yang mana yang akan digunakan. php = Menggunakan penyimpanansession default PHP. cake = Menyimpan data session di /app/tmp

database Menyimpan data session di dalam database. Pastikan tabel tersebutsudah di set up menggunakan file SQL di/app/config/sql/sessions.sql.

Session.table Nama tabel yang menyimpan informasi session (tidak termasuk prefiks).

Session.database Nama database yang menyimpan session.

Session.cookie Nama cookie yang digunakan untuk melacak session.

Session.timeout Standar timeout session (dalam detik). Nilai sebenarnya tergantung 

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 8/16

[ C A K E P H P ]

If - Unpas

5

dari Security.level.

Session.start Jika di set true, maka session akan otomatis dijalankan.

Session.checkAgent

 Jika diset false, session CakePHP tidak akan melakukan pengecekanuntuk memastikan user agent tidak berubah antar request.

Session.level Level keamanan dari CakePHP. Timeout session didefinisikan di'Session.timeout', dikalikan dengan nilai yang tertera disini. Nilai -nilai yang valid: 'high' = x 10 'medium' = x 100 'low' = x 300.

Security.salt String acak yang digunakan dalam security hashing.

 Acl.classname,acl.database

Konstanta yang digunakan oleh fungsi - fungsi dari Access ControlList Constants CakePHP.

Kelas konfigurasi dapat digunakan juga untuk membaca dan menulis setting konfigurasiutama secara langsung saat dijalankan (on the fly). Hal ini akan sangat berguna terutama

untuk merubah setting debug untuk bagian tertentu saja dari aplikasi.

1 . 1 . 8   KONSTA NTA KONF IGU RA SI

Ketika kebanyakan opsi konfigurasi ditangani oleh konfigurasi, ada beberapa konstanta yang digunakan CakePHP selama proses berlangsung ( runtime  ) salah satunya adalahLOG_ERROR, ( konstanta Error) yang digunakan untuk membedakan error logging dandebugging. Saat ini PHP mendukung LOG_DEBUG.

1 .1 . 9   STRU KTU R DIREKTORI DI CA KEP HP

Struktur direktori CakePHP sudah terorganisasi dan dapat dilihat seperti di bawah ini :

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 9/16

[ C A K E P H P ]

If - Unpas

6

Gambar 1-1 Struktur Direktori CakePHP 

Saat men-download  CakePHP, dalam direktori CakePHP terdiri dari 4 direktori berikutnya(  folder   ). Direktori app merupakan tempat bekerja yaitu tempat berkas-berkas aplikasiditempatkan. Direktori cake adalah tempat dimana proses terjadi. Oleh karena itu, jangansekali-kali mengubah berkas-berkas di direktori ini. Direktori docs adalah tempat informasipenting seperti readme, changelog, dan lisensi. Dan terakhir, direktori vendors yang 

merupakan tempat pustaka pihak ketiga ( third-party library   ) yang digunakan dalam aplikasiCakePHP.

Direktori app dalam struktur direktori CakePHP merupakan tempat mengerjakan aplikasi.Berikut ini merupakan keterangan dari setiap folder di dalam direktori app:

 Tabel 1-3 Folder pada Direktori app CakePHP

Nama Folder Keterangan

Config  Tempat berkas konfigurasi CakePHP. Berkas tata koneksi database,bootstrapping , konfigurasi inti dan lainnya sebaiknya ditempatkan disini.

Controllers Berisi controller dan component aplikasi.

Locale  Tempat menyimpan berkas string untuk internasionalisasi.

Models Berisi model, behavior dan datasource aplikasi.

Plugins  Berisi paket plugin.

Tmp Tempat menyimpan data sementara. Data sebenarnya yang disimpantergantung bagaimana mengkonfigurasi CakePHP, tapi umumnyadirektori ini digunakan untuk menyimpan deskripsi model, log, dan

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 10/16

[ C A K E P H P ]

If - Unpas

7

terkadang informasi session .

Vendors   Class atau pustaka pihak ketiga sebaiknya ditempatkan di folder ini.

Views  Berkas untuk tampilan ditempatkan disini: berkas-berkas element ,halaman pesan kesalahan ( error page  ), helper , layout dan view .

Webroot  Dalam tata produksi,  folder  ini merupakan tempat document rootaplikasi. Di dalamnya juga merupakan tempat untuk berkas CSS stylesheet ,gambar ( images  ), dan JavaScript.

1 . 2   S T R U K T U R K E R J A C A K E P H P

Hampir sama seperti framework aplikasi berbasis web yang lainnya, apalagi yang menggunakankonsep MVC (  Model-View-Controller   ), CakePHP juga memiliki alur kerja yang melibatkanketiga komponen tersebut. Berikut ini adalah diagram sederhana dari alur kerja yang dilakukan oleh CakePHP Framework.

Gambar 1-2 Struktur Kerja CakePHP Framework 

Dari gambar di atas, cara kerja CakePHP sebagian besar sudah bisa dijelaskan. Pertama kali,user melakukan request , yang akan ditangani oleh controller. Controller memiliki banyak methode  yang akan menangani request . Controller akan mengambil data pada database melalui model. Model  memberikan data yang relevan kepada controller.Controller  akan mengolah data danmemberikannya pada view (tampilan) yang dipilih. Tampilan inilah yang akan dilihat oleh userpada browser -nya.

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 11/16

[ C A K E P H P ]

If - Unpas

8

1 .2 . 1   CONTROL L ERS P A DA CA KEP HP F RA M EWORK 

Sebuah controller pada CakePHP digunakan untuk mengatur logika untuk bagian dari aplikasi Anda. Paling sering, controller digunakan untuk mengatur logika untuk satu model ke dalam  views pada cakePHP. Sebagai contoh, jika Anda sedang membangun sebuah situs untuk toko roti online , Anda mungkin memiliki RecipesController dan mengelola IngredientsController  

resep dan bahan-bahan mereka. Dalam CakePHP, controller diberi nama seperti modelditangani oleh controller tersebut, tetapi dalam bentuk jamak. Contoh : jika  Model Recipe makacontrollernya adalah Recipes ditambahkan Controller menjadi RecipesController .

Berikut adalah contoh RecipesController yang di dalamnya terdapat view , share dan search . File iniakan d temukan di /app/controllers/recipes_controller.php . 

Kode 1-2 Contoh Kode pada Controllers 

 AppController Kelas AppController kelas induk untuk semua aplikasi Anda controller. AppControllersendiri memperluas kelas Controller termasuk dalam inti CakePHP perpustakaan. Dengandemikian, AppController dapat ditemukan di / app / app_controller.php seperti:

Kode 1-3 Kode pada AppControllers 

Controller atribut dan metode yang dibuat dalam  AppController  akan tersedia bagi semuacontroller aplikasi. AppController adalah tempat yang ideal untuk membuat kode yang umumbagi semua controller yang ada pada aplikasi.

PagesController 

CakePHP core ships dengan controller default disebut Pages Controller  ( cake / libs /

controller / pages_controller.php ).  Halaman awal Anda lihat setelah instalasi dihasilkanmenggunakan controller ini. Hal ini umumnya digunakan untuk melayani halaman statis.

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 12/16

[ C A K E P H P ]

If - Unpas

9

Misalkan Jika membuat file tampilan  app / views / pages / about_us.ctp   Anda dapatmengaksesnya dengan menggunakan url http://example.com/pages/about_us.  

Ketika mem-"bake" sebuah aplikasi dengan menggunakan utilitas console CakePHP'shalaman controller disalin ke  app/controllers/folder   dan dapat memodifikasi sesuaikebutuhan jika diperlukan. Atau bisa juga mensalin dari  core   pages_controller.php pada app. 

1 . 2 . 2   M ODEL S P A DA CA KEP HP F RA M EWORK 

Model merepresentasikan data dan digunakan dalam aplikasi CakePHP untuk akses data. Model  biasanya merepresentasikan sebuah tabel database  tapi dapat digunakan untuk mengakses apa pun yang menyimpan data seperti  file , LDAP records, iCal events, atau barisdalam file CSV .

Sebuah model dapat dikaitkan dengan model-model lain. Sebagai contoh, sebuah Recipe bisadiasosiasikan dengan Author Recipe serta Ingredient dalam Recipe .

1 . 2 . 3   V IEWS P A DA CA KEP HP F RA M EWORK 

View  adalah V di  MVC . Tampilan bertanggung jawab untuk menghasilkan output  tertentuyang diperlukan untuk permintaan tersebut. Sering kali ini adalah dalam bentuk  HTML , XML , atau  JSON , tapi streaming  PDF  file dan menciptakan itu pengguna dapat men-download juga tanggung jawab dari View  Layer .

1 . 2 . 4   HEL P ERS P A DA CA KEP HP F RA M EWORK 

Helper merupakan class yang membantu operasi logik di view. Seperti halnya component yang digunakan di controller , helper merupakan presentasi dari logik yang dapat diaksesdan digunakan bersama oleh beberapa view. Berikut adalah Helper yang ada pada CakePHP :

 Tabel 1-4 Tabel Helpers

CakePHPHelpers

Penjelasan

 Ajax Digunakan bersama-sama dengan Prototype JavaScript library untuk menciptakan  fungsionalitas Ajax dalam pandangan. Berisi metode pintas untuk drag/drop, ajax forms & links, observers, dan banyak lagi. 

Cache Digunakan oleh core untuk cache melihat content.Form  Membuat form HTML dan membentuk element form yang mengisi diri dan menangani 

masalah validasi.HTML  Metode cepat untuk membuat well-formed markup.seperti Gambar, link, tabel, header tag 

dan banyak lagi.

 JavaScripts   Digunakan untuk mencari file JavaScripts, seperti menulis data ke objek JSON, dan  format blok kode. Number   Untuk membuat format number and currency.Paginator   Digunakan untuk penyortiran.RSS metode untuk mengeluarkan RSS feed dari data XML.Session   Untuk pemakaian Session pada aplikasi Text Digunakan untuk Pemotongan Text Time Digunakan untuk Penditeksi tanggal maupun format string (Today, 10:30 am) dan 

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 13/16

[ C A K E P H P ]

If - Unpas

1

konversi zona waktu.  XML untuk membuat header dan elemen XML.

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 14/16

[ C A K E P H P ]

If - Unpas

1

1 .2 . 5   COM P ONENTS P A DA CA KEP HP F RA M EWORK 

Component adalah paket logika yang di shared diantara controller . Jika ingin untuk menyalin danmenyisipkan hal-hal antara controller , dapat mempertimbangkan untuk membungkus beberapafungsionalitas dalam sebuah Component.

CakePHP juga dilengkapi dengan set core   Component  fantastis yang dapat digunakan untuk membantu dalam:

•  Security 

•  Sessions

•   Access control lists(ACL)

•  Emails

•  Cookies

•   Authentication

•  Request handling.

•  Component juga dapat di buat sendiri sesuai keinginan kita dan nilainya dapat dikembalikankepada controller yang memanggilnya.

1 . 2 . 6   BEHA V IORS P A DA CA KEP HP F RA M EWORK 

 Model behaviors adalah cara untuk mengatur beberapa fungsi yang didefinisikan dalam model  CakePHP. Mereka memungkinkan kita untuk memisahkan logika yang mungkin secara tidak langsung berhubungan dengan model , tapi perlu berada di sana. Dengan menyediakan sebuahcara yang sederhana namun penting untuk memperluas model , Model  behaviors memungkinkankita untuk melampirkan fungsionalitas untuk model dengan mendefinisikan variabel kelassederhana. Begitulah cara membiarkan   Model behaviors untuk menyingkirkan semua beban

tambahan yang mungkin tidak menjadi bagian dari core model yang ada, atau diperlukan jugadalam model-model yang lain yang berbeda dan kemudian dapat ekstrapolasi.

Sebagai contoh, pertimbangkan sebuah model yang memberi kita akses ke tabel structure  database  yang menyimpan informasi tentang sebuah tree. Menghapus, menambahkan, danbermigrasi node  di tree  tidak sesederhana menghapus, memasukkan, dan pengeditan barisdalam tabel. Banyak catatan mungkin perlu diperbarui sebagai benda bergerak di sekitar. Alih-alih membuat object  –  tree - metode manipulasi pada per model dasar (untuk setiap modelyang perlu bahwa fungsi), kami hanya bisa kirim model untuk menggunakan TreeBehavior , ataudalam istilah yang lebih formal, kami kirim model untuk berperilaku sebagai tree  . Ini dikenalsebagai melampirkan model behavior . Dengan hanya satu baris kode, model pada CakePHP akanmengambil keseluruhan serangkaian metode baru yang memungkinkan untuk berinteraksi

dengan struktur yang mendasarinya.

Berikut adalah contoh penggunaan Behavior pada CakePHP : 

Kode 1-4 Contoh Kode Behaviors

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 15/16

[ C A K E P H P ]

If - Unpas

1

  Jika ingin menambahkan behavior flying pada model Duck maka cukup menambahkan kodeseperti di atas. Untuk mengisi behavior pada Duck cukup menambahkan kode seperti berikut :

Kode 1-5 Memasukan Data ke dalam Behaviors

Dan setelah itu tinggal menambahakan metode yang akan di jalani oleh Duck untuk Flying ketempat yang sudah di tambahkan pada behavior.

Kode 1-6 Metode Behaviors

1 .2 . 7   CA KEP HP CONSOL E

CakePHP juga mempunyai perintah command-line  yang dapat kita gunakan untuk 

mempermudah pengerjaan suatu pembuatan aplikasi. Jika memerlukan akses ke kelas MVCCakePHP maka console ini sangat diperlukan.

PHP menyediakan CLI (Command-Line) yang  powerfull untuk berinteraksi dengan sistem filedan aplikasi jauh lebih baik. CakePHP console menyediakan kerangka kerja untuk menciptakanScript shell . Console menggunakan dispatcher-type  setup untuk memuat shell .

Untuk mengenerate Database menjadi object MCV pada cakePHP diharuskan untuk membuatstructure database  yang sesuai dengan structure pada cakePHP, jika tidak CakePHP akanmenampilkan pesan error pada Console . Berikut adalah sebagian contoh command-line yang padaCakePHP :

 Tabel 1-5 Tabel Command-Line pada Console CakePHP 

Command-Line PenjelasanCake Bake  Awal untuk membuat aplikasi web Cake Bake Model Digunakan untuk Generate Database menjadi CakePHP Model  Cake Bake Controller Digunakan untuk Generate Database menjadi CakePHP Controller Cake Bake View  Digunakan untuk Generate views pada aplikasi yang dibuat defaultnya 

adalah index,add,edit,view.Cake Bake Db_config  Digunakan untuk configurasi database pada cake. Sehingga tidak perlu 

membuat file configurasi database, karena sudah automatis di ciptakan oleh cakePHP 

5/14/2018 CakePHP Framework 1 - slidepdf.com

http://slidepdf.com/reader/full/cakephp-framework-1 16/16

[ C A K E P H P ]

If - Unpas

1

1 .2 . 8   P L U GIN P A DA CA KEP HP F RA M EWORK 

CakePHP memungkinkan untuk mengatur kombinasi dari controller , model , dan view  danmembebaskan mereka sebagai paket aplikasi yang lain didalam aplikasi CakePHP yang utama. Misalnya modul user manajemen, blog sederhana , atau layanan web modul dalamsalah satu aplikasi. Dan file-file plugin tersebut disimpan pada direktori khusus yaitu :

/app/plugins/pizza/controllers <- plugin controllers/models <- plugin models/views <- plugin views/pizza_app_controller.php <- plugin's AppController/pizza_app_model.php <- plugin's AppModel 

1 . 2 . 9   SCA F F OL DING P A DA CA KEP HP F RA M EWORK 

Scaffolding merupakan suatu teknik yang membantu pengembang dalam mendefinisikan dan

menciptakan aplikasi dasar yan dapat melakukan CREATE, RETRIEVE, UPDATE danDELETE sebuah objek. Scaffolding  pada CakePHP juga membantu pengembang menggambarkan bagaimana hubungan antara objek satu sama lain.

Scaffolding merupakan cara terbaik dalam mengembangkan suatu aplikasi web. Skema database  merupakan suatu subjek untuk dilakukan perubahan, agar sempurna dalam proses desain.  Yang diperlukan untuk membuat scaffolding  adalah model  dan controller . Bila menetapkan variabel $scaffold pada controller , secara otomatis dapat di running . seperti di bawah ini :

Kode 1-7 Pemanggilan Scaffolding