Академический Документы
Профессиональный Документы
Культура Документы
Te k n i k C e p a t M e m b a n g u n
Aplikasi Web Dengan
Framework CakePHP
AGUS SAPUTRA
www.bukulokomedia.com
Kata Pengantar
vi
Daftar Isi
vii
viii
ix
6.2. Session.......................................................................................................103
6.2.1. Write and Read Session..................................................................103
6.2.2. Destroy Session...............................................................................104
BAB 7. Proyek Membuat Web Blog............................................................107
7.1. Menentukan Layout..................................................................................108
7.2. Membuat Database dan Tabel..................................................................109
7.3. Konfigurasi Databasae.............................................................................. 111
7.4. Membuat Controller Global (Links)........................................................ 111
7.5. Membuat Halaman Articles untuk User ..................................................112
7.6. Membuat Halaman Comments untuk User..............................................117
7.7. Membuat Halaman Login Admin............................................................122
7.8. Manajemen Articles untuk Admin...........................................................128
7.8.1. Menampilkan Articles untuk Admin..............................................133
7.8.2. Menambah Articles untuk Admin..................................................135
7.8.3. Menampilkan Detail Articles untuk Admin...................................136
7.8.4. Mengedit Articles untuk Admin.....................................................138
7.9. Mempercantik Paging...............................................................................140
7.10. Catatan Akhir CakePHP.........................................................................142
Daftar Pustaka................................................................................................143
BAB 1
Pengenalan Dasar
CakePHP
BAB 1
B A B 1 . P e n ge n al a n D a s a r C a k ePH P
5. Konsep MCV.
Dengan konsep MVC (Model, View, Controller), memungkinkan pengerjaan
web akan lebih terstruktur dan mudah dikembangkan karena antara logika dan
layout telah dipisahkan, sehingga pengerjaan dapat dilakukan secara fokus.
6. Mendukung ORM.
CakePHP juga mendukung ORM (Object Relational Model), yang dapat
menterjemahkan relational database menjadi kode program.
7. Komunitas pengguna yang besar dan forum yang cukup baik.
CakePHP juga memiliki komunitas dan forum yang cukup baik. Anda dapat
bergabung dengan komunitasnya di http://www.cakephpforum.net.
Selain beberapa keunggulan yang dimiliki oleh CakePHP, juga memiliki beberapa
kelemahan, diantaranya:
1. Manual book yang ada tidak selengkap framework lain.
Ini merupakan salah satu kelemahan dari CakePHP, dengan tidak lengkapnya
buku manual, untuk memahami dan mempelajari CakePHP akan memakan
waktu yang lebih lama dibandingkan dengan framework lain, seperti salah
satunya CodeIgniter (CI).
2. Terlalu banyak aturan dan kurang fleksibel.
Terlalu banyaknya aturan dalam CakePHP menjadi salah satu kelemahan dari
framework ini. Maksud dari kurang fleksibel disini yaitu case sensitive. Case
sensitive ini adalah cara pengerjaan dalam penamaan file harus benar-benar
sama. Seperti contoh nama controller harus sama dengan nama folder untuk
view, dan juga nama view harus sama dengan nama action. Namun sebenarnya,
case sensitive ini juga dapat menjadi nilai positif dalam mengembangkan.
Karena dengan penamaan yang harus sama seperti itu, kita tidak perlu lagi
mencari-cari letak file tempat kode dituliskan, jadi kita bisa langsung fokus
terhadap file yang ingin dikembangkan.
Aplikasi scaffolding
Code generation
Konsep MVC
Mendukung validasi
Sanitasi data
Localization
Bekerja dari direktori situs web, dengan sedikit atau tidak ada konfigurasi
Apache yang terlibat.
B A B 1 . P e n ge n al a n D a s a r C a k ePH P
Keterangan:
Setelah melihat penjelasan diatas, dapat disimpulkan alur kerja dari framework
CakePHP sebagai berikut:
1. Client meminta kepada CakePHP melalui url kepada dispatcher.
2. Dispatcher kemudian menerima dan memeriksa hasil request url tersebut
kepada per segment kepada controller.
Folder vendors: digunakan apabila developer melibatkan aplikasiaplikasi tambahan yang dikembangkan oleh developer lain.
b. Folder cake: berisi class-class dan pustaka dasar CakePHP. Ditempat ini
fungsi-fungsi CakePHP ditempatkan.
B A B 1 . P e n ge n al a n D a s a r C a k ePH P
c. Folder vendors: untuk menyimpan file-file tambahan dan aplikasi source lain
yang akan digunakan bersama CakePHP.
yang akan digunakan pada saat instalasi. Biarkan secara default (English),
selanjutnya klik OK. Lihat gambar 1.2.
3. Maka akan ditampilkan jendela Welcome to the Xampp, klik tombol Next.
Lihat gambar 1.3.
B A B 1 . P e n ge n al a n D a s a r C a k ePH P
10
B A B 1 . P e n ge n al a n D a s a r C a k ePH P
11
7. Apabila proses instalasi selesai, maka akan tampil kotak dialog Complete,
klik tombol Finish. Lihat gambar 1.7.
8. Selanjutnya, ikuti instruksi pada kotak dialog yang tampil, apabila tampil
kotak peringatan dari firewall sistem operasi, pilih Allow access. Lihat
gambar 1.8.
9. Apabila proses instalasi berhasil, maka akan tampil Xampp Control Panel,
pastikan bahwa Apache dan Mysql dalam keadaan Running. Jika tidak
dalam keadaan Running, Anda dapat menjalankannya melalui tombol
Start yang berada di sebelah kanannya. Lihat gambar 1.9.
12
B A B 1 . P e n ge n al a n D a s a r C a k ePH P
13
14
6. Perhatikan Notice (1024) pada gambar 1.10, itu berarti kita diminta untuk
mengubah value (nilai) yang terdapat pada folder app/config/core.php
menjadi apapun sesuai keinginan kita.
Buka file core.php yang terdapat dalam app/config/core.php dengan editor
Anda (Notepad). Ubah atau tambahkan coding value menjadi apapun,
seperti contoh penulis menambahkan kata blog pada value tersebut. Untuk
memudahkan pencarian Anda dapat mengetikkan keyword salt pada menu
Search > Find (CTRL + F).
Skrip core.php
201
202
203
204
205
206
207
208
B A B 1 . P e n ge n al a n D a s a r C a k ePH P
15
Perhatikan pada kode skrip yang bercetak tebal, value telah kita ubah/
tambahkan, selanjutnya buka kembali web browser Anda dan ketikkan kembali
url http://localhost/cakephp, pastikan bahwa Notice tersebut telah hilang dari
tampilan browser Anda. Lihat gambar 1.11.
16
BAB 2
Memulai CakePHP
BAB 2
Memulai CakePHP
18
Anda dapat mengubah CSS (Cascading Style Sheet) pada layout diatas sesuai
dengan keinginan anda pada path direktori app\webroot\css, di folder tersebut
CSS-nya diletakkan.
Selanjutnya, jika Anda ingin menggunakan layout desain hasil buatan sendiri
ataupun menggunakan template yang tersedia, berikut langkahnya:
1. Anda buat layout desain atau template yang sudah disediakan dan anda simpan
dengan nama default.ctp ke dalam path app\views\layouts.
2. Kemudian Anda letakkan file CSS dari layout tersebut ke dalam app\webroot\
css.
3. Ubah pemanggilan file CSS pada default.ctp, ikuti dengan prosedur
pemanggilan sesuai skrip CakePHP. Skrip dapat Anda lihat pada sub-bab
Penanganan HTML.
4. Selanjutnya, kembali kepada web browser anda dan cobalah Anda lakukan
refresh/reload, maka tampilan akan berubah menjadi layout yang sesuai
keinginan kita. Lihat gambar 2.2.
B A B 2 . M em u l a i C a k ePH P
19
Namun disini penulis akan menggunakan layout default CakePHP sebagai bahan
belajar.
Jika kita telah menciptakan layout dan telah menyimpannya dengan nama default.
ctp didalam app\views\layouts\. Tanpa perlu kita menghapus, layout default yang
dimiliki CakePHP akan secara otomatis diganti menjadi layout baru anda. Karena
disini kedudukan pada folder layout tersebut diatas dari tingkat default CakePHP.
Jika pada folder tempat anda menyimpan adalah kosong. Maka secara otomatis
juga yang akan ditampilkan kembali menjadi layout default CakePHP.
<?php
echo Welcome to CakePHP Framework;
?>
Setelah itu anda simpan dengan nama home.ctp ke dalam folder app\views\
pages. Perhatikan format nama penyimpanan. Setiap nama penyimpanan
didalam folder views, penamaan harus berformat ctp (bukan php). Karena ctp
merupakan format PHP dasar yang terdapat dalam CakePHP.
2. Sekarang coba buka web browser Anda, dan ketikkan url http://localhost/
cakephp. sehingga nanti akan tampil teks Welcome pada browser Anda.
Lihat gambar 2.3.
20
2.3.1 Charset
Digunakan untuk membuat meta tag yang menentukan karakter dokumen. Default
dari charset adalah UTF-8.
Berikut contoh penggunaan Charset:
echo $html->charset();
B A B 2 . M em u l a i C a k ePH P
21
2.3.2 CSS
Digunakan untuk memanggil file css ke dalam suatu kerja CakePHP
Framework.
Berikut contoh penggunaan CSS:
echo $html->css(style);
Atau jika ingin memanggil lebih dari satu file css, anda dapat menggunakan skrip
berikut agar lebih praktis:
echo $html->css(array(style,tables,menu));
2.3.3 Meta
Digunakan untuk menghubungkan ke sumber daya eksternal seperti RSS ataupun
favicon.
Berikut contoh penggunaan meta:
echo $html->meta(Comments,/comments/index.rss,
array(type => rss));
2.3.4 docType
Menghasilkan (x) HTML docType tag. Berikut adalah daftar type dari penggunaan
docType:
22
Type
Nilai Terjemahan
Html
Text/html
html4-strict
HTML4 Strict
html4-trans
HTML4 Transitional
html4-frame
HTML4 Frameset
xhtml-strict
XHTML1 Strict
xhtml-trans
XHTML1 Transitional
xhtml-frame
XHTML1 Frameset
xhtml11
XHTML 1.1.
2.3.5 Style
Penggunaan style ini dilakukan apabila kita ingin membangun css dalam suatu
file PHP dalam CakePHP.
Berikut contoh penggunaan fungsi style:
echo
$html->style(array(
background => #633,
border-bottom => 1px solid #000,
padding => 10px
));
B A B 2 . M em u l a i C a k ePH P
23
2.3.6 Image
Digunakan untuk menampilkan gambar pada suatu halaman web.
Berikut adalah contoh penggunaan image:
echo $html->image(cake_logo.png, array(alt => CakePHP));
2.3.7 Link
Digunakan untuk menciptakan link html baru.
Berikut contoh penggunaan link:
echo $html->link(Enter, /pages/home, array(class =>
button, target => _blank));
24
Seperti yang kita ketahui, bahwa elemen method form mempunyai dua variabel,
yaitu post dan get. Jika penulisan yang diatas adalah metode post, maka dibawah
ini merupakan form dengan method get.
echo $form->create(post,array(type => get));
B A B 2 . M em u l a i C a k ePH P
25
Kita juga dapat membuat pengaturan dari skrip input password diatas. Berikut
adalah contoh dalam pengaturan pembuatan form input password:
echo $form->password(password, array(
size => 20,
value => 123456,
maxlength => 100
));
26
lain.
Berikut adalah contoh penggunaan form input upload:
echo $form->file(file);
Kita juga dapat mengatur baris dan kolom (lebar dan tinggi) dari form textarea,
berikut adalah contoh dalam mengatur lebar dan tinggi dari textarea:
echo $form->textarea(alamat, array(
cols => 30,
rows => 6
));
B A B 2 . M em u l a i C a k ePH P
27
<?php
// deklarasikan pilihan melalui fungsi array
$options
'0' =>
a =>
b =>
c =>
d =>
?>
= array(
'Pilih Kota',
Jakarta,
Bandung,
Cirebon,
Surabaya);
Atau untuk lebih praktis, Anda dapat menggunakan cara alternatif berikut:
echo $form->select(kota, array(options => array(Jakarta,
Bandung,Cirebon,Surabaya)));
Maka akan menghasil kode html yang sama seperti skrip sebelumnya. Contoh
hasil pembuatan dropdown dilihat pada gambar 2.4.
28
B A B 2 . M em u l a i C a k ePH P
29
Berikut adalah contoh penggunaan penerapan form radio. Dalam hal ini, penulis
akan mengambil contoh pembuatan dalam pemilihan antar dua pilihan mengenai
jenis kelamin.
1
2
3
4
5
6
7
8
9
10
<?php
// uraikan option dalam bentuk array
$jk = array(L => Laki-laki, P => Perempuan);
// ubah Legend pada Radio menjadi false
$attribut = array (legend => false);
// cetak array dalam bentuk fungsi radio
echo $form->radio (jk, $jk, $attribut);
?>
30
Dari penulisan skrip diatas, akan menghasilkan kode html sebagai berikut:
<div class=submit><input type=submit value=Submit></div>
Dalam menggunakan tombol submit, kita juga dapat mengganti tombol tersebut
dengan gambar. Berikut contoh penggunaannya:
echo $form->submit(ok.png);
B A B 2 . M em u l a i C a k ePH P
31
32