Instalasi Awal CakePHP di LINUX Opensuse dengan Virtual Host

March 21, 2011 Leave a comment

Saya mengasumsikan anda telah memiliki Apache MySQL dan PHP 4/5 di PC/Laptop anda (LAMPP), bila belum maka anda dapat mengikuti tutorial instalasi APACHE,PHP dan MySQL (Opensuse LAMP) di sini:

  1. http://www.how2forge.org/installing-apache2-with-php5-and-mysql-support-on-opensuse-11.3-lamp
  2. http://www.susegeek.com/internet-browser/install-configure-lamp-apachemysqlphp-in-opensuse-110/
  3. http://www.novell.com/coolsolutions/feature/595.html
  4. atau di sini http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-opensuse-11.2-lamp

Pertama-tama pastinya download dulu Cakephp di cakephp.org ,

Konfigurasi Virtual Host Untuk CakePHP di Linux Opensuse

  • Copy folder cakephp hasil ekstraksi  ke directory dimana saja (kan kita pake Virtual Host nantinya)
  • /app/tmp folder ini harus bisa di akses oleh web server,  cara gampangnya chmod -R 777 /app/tmp , kalo di windows udah full akses biasanya, berbagai macam cache dan temporary file akan disimpan disini nantinya.
  • saatnya membuat Virtual Host, pertama tama buka /etc/hosts dengan editor misal /etc/gedit  hosts , setelah terbuka maka tambahkan baris berikut (This file describes a number of hostname-to-address):

 

127.0.0.2:80  www.cakeajah.com

//buka browser ketik alamat www.cakeajah.com (apa yg terjadi ??)

 

  • sekarang buka /etc/apache2/vhosts.d/ di bawah folder ini kita akan menyimpan .conf coba buat file namanya /etc/apache2/vhosts.d/vhost-cakeajah.conf
  • Buka vhost-cakeajah.conf masukan konfigurasi :

<VirtualHost 127.0.0.2:80>

ServerAdmin webmaster@cakephp.com

ServerName http://www.cakeajah.com

DocumentRoot /srv/www/vhosts/cakephp/app/webroot/

ErrorLog /var/log/apache2/server_www_1s.log

CustomLog /var/log/apache2/access_www_1s.log combined

HostnameLookups Off

UseCanonicalName On

ServerSignature On

<Directory />

Options FollowSymLinks

AllowOverride All

</Directory>

<Directory “/srv/www/vhosts/cakephp/app/webroot/”>

Options Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

</Directory>

</VirtualHost>

validasi variable dengan fungsi milik PHP : filter_var

March 18, 2011 Leave a comment

Untuk melakukan validasi pada  sebuah variable secara langsung di controller dapat menggunakan fungsi yang kita buat sendiri atau copy paste kode orang dari hasil googling yang kadang cukup panjang dan berisi REGEX yang cukup memusingkan, tetapi  PHP sendiri telah memiliki fungsi khusus untuk ini yang sangat simpel.

contoh tadi saya membuat validasi sederhana untuk email pada controller,  seperti ini:

Validasi Email

if  (filter_var($e_mail, FILTER_VALIDATE_EMAIL))  {

// $e_mail berisi email

} else {

// $e_mail berisi bukan email

}

Validasi BOOLEAN

  • FILTER_VALIDATE_BOOLEAN

Validasi Integer

  • FILTER_VALIDATE_INT

Validasi URL

  • FILTER_VALIDATE_URL

contoh lain:

<?php
var_dump(filter_var(‘example.com’, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED));
var_dump(filter_var(‘example.com’, FILTER_VALIDATE_URL));
?>

Categories: PHP Murni, validasi Tags: , ,

Struktur CakePHP

March 16, 2011 Leave a comment

Struktur CakePHP
CakePHP memiliki  fitur Controller, Model, dan  View dan  juga  beberapa kelas tambahan dan bagian bagiannya yang membuat pengembangan web dengan konsep  MVC menjadi  lebih cepat dan lebih menyenangkan. Component, Behavior, dan Helper merupakan kelas yang menyediakan ekstensibilitas dan reusabilitas dengan cepat menambahkan fungsionalitas ke kelas MVC dasar dalam aplikasi Anda. Sekarang kita akan tinggal di tingkat yang lebih tinggi, sehingga dapat mencari rincian tentang cara menggunakan fasilitas  ini di kemudian hari.

Controller Extensions (“Components”)
Components atau Komponen  adalah sebuah kelas yang membantu dalam logika pada controller. Jika Anda memiliki beberapa logika Anda ingin berbagi antara controller (atau aplikasi), komponen biasanya cocok. Sebagai contoh, kelas EmailComponent inti membuat membuat dan mengirim email menjadi lebih mudah. Alih-alih menulis metode controller dalam kontroler logika tunggal yang melakukan ini, Anda dapat membuat paket logika sehingga bisa dibagi.

Controller juga dilengkapi dengan callback. Callback ini tersedia untuk Anda gunakan, kalau-kalau Anda harus memasukkan beberapa logika antara operasi inti CakePHP. Callback yang tersedia diantaranya:

  1. BeforeFilter (), dieksekusi sebelum aksi kontroler logika
  2. BeforeRender (), dieksekusi setelah logik controller, tapi sebelum view dirender
  3. AfterFilter (), dieksekusi setelah semua logika controller, termasuk membuat tampilan. Mungkin tidak ada perbedaan antara afterRender () dan afterFilter () kecuali Anda telah secara manual membuat panggilan ke render () dalam aksi kontroler Anda dan telah memasukkan beberapa logika setelah panggilan itu.

 

View  Extensions (“Helper”)

Helper adalah kelas yang membantu dalam logika tampilan. seperti komponen yang digunakan di controller, helper memungkinkan logika presentasi yang dapat diakses dan dibagi antara tampilan, Salah satu helper inti, AjaxHelper, membuat permintaan Ajax dalam tampilan web  jauh lebih mudah.

Sebagian besar aplikasi memiliki kode view yang digunakan berulang kali. CakePHP tampilan memfasilitasi penggunaan kembali kode dengan tata letak dan element. Secara default, setiap view dirender oleh controller ditempatkan di dalam sebuah layout.

 

Model Extensions (“Behavior”)
Mirip dengan Component  dan Helper, “Behavior” bekerja sebagai cara untuk menambahkan fungsionalitas umum antara model. Misalnya, jika Anda menyimpan data user dalam struktur pohon, Anda dapat menentukan “User” anda model sebagai berperilaku seperti struktur  pohon/ bertingkat, dan mendapatkan fungsi bebas untuk menghapus, menambah, dan menggeser node di struktur  yang mendasari Anda.

Model juga didukung oleh kelas lain yang disebut DataSource. DataSource merupakan abstraksi yang memungkinkan model untuk memanipulasi tipe data yang berbeda secara konsisten. Sedangkan sumber utama data dalam aplikasi CakePHP sering berupa database, Anda dapat menulis DataSource tambahan yang memungkinkan model Anda untuk mewakili RSS feed, file CSV, entri LDAP.

Sama seperti controller, model juga dilengkapi  dengan callback:

  1. BeforeFind ()
  2. AfterFind ()
  3. BeforeValidate ()
  4. BeforeSave ()
  5. AfterSave ()
  6. BeforeDelete ()
  7. AfterDelete ()

Nama-nama metode ini harus deskriptif cukup untuk membuat  anda tahu apa yang mereka lakukan. Anda dapat menemukan rincian nanti  dalam bab model.

Controller,view  dan model masing-masing memiliki sebuah kelas induk yang dapat digunakan untuk mendefinisikan perubahan aplikasi-lebar. AppController (terletak di / app / app_controller.php), AppHelper (terletak di / app / app_helper) dan AppModel (terletak di / app / app_model.php) adalah tempat yang bagus untuk menempatkan method yang ingin berbagi antara semua controller, helper atau model.

 

Routing

Meskipun mereka bukan merupkan file class , Route berperan dalam permintaan yang dibuat untuk CakePHP. definisi Route  memberitahu CakePHP bagaimana bentuk URL pada  peta aplikasi  untuk menentukan  tindakan pada controller. Perilaku default mengasumsikan bahwa URL “/ controller/action/var1/var2” peta untuk Controller:: action ($ var1, $ var2), tetapi Anda dapat menggunakan rute untuk menyesuaikan URL dan bagaimana mereka dibaca oleh aplikasi Anda.

Beberapa fitur dalam sebuah aplikasi dapat dipaketkan secara keseluruhan. Plugin merupakan paket dari model, controller dan view yang menyelesaikan tujuan tertentu yang dapat aplikasikan secara ganda. Sistem manajemen pengguna atau blog sederhana mungkin cocok untuk plugin CakePHP.

http://book.cakephp.org/view/879/Beginning-With-CakePHP#!/view/897/Application-Extensions

Categories: Resep CakePHP, Struktur

Prinsip mendasar dari CakePHP

March 16, 2011 Leave a comment

CakePHP menyediakan dasar yang kuat untuk aplikasi Anda. Ia bisa menangani setiap aspek, dari permintaan awal pengguna hinggamelakukan  render  dari tampilan sebuah  halaman web. Dan karena kerangka yang dibuat mengikuti prinsip MVC, ini memungkinkan Anda untuk dengan mudah menyesuaikan dan memperluas sebagian besar aspek aplikasi Anda.

Kerangka kerja ini juga menyediakan struktur organisasi dasar, dari penamaan file ke penamaan tabel di database, sehingga menjaga seluruh aplikasi yang konsisten dan logis. Konsep ini sederhana namun kuat. Ikuti konvensi dan Anda akan selalu tahu persis di mana hal-hal dan bagaimana mereka terorganisir.

Model Visual Control pada CakePHP (MVC)

March 16, 2011 Leave a comment

CakePHP menggunakan konsep  MVC (Model,Visual dan Control). Memprogram menggunakan konsep  MVC adalah  pemrograman dengan  memisahkan aplikasi menjadi tiga bagian utama:

1. Model yang merepresentasikan data aplikasi / database
2. View membuat presentasi data dari model / tampilan pada browser
3. Controller yang menangani dan mengalihkan request dari klien / Logik dari aplikasi

Konsep MVC Pada framework CakePHP

Gambar:  memperlihatkan contoh request dengan memakai konsep  MVC dalam CakePHP. Untuk mengilustrasikan, asumsikan seorang klien bernama “Ricardo” hanya mengklik taut “Beli buku ini sekarang!” Link pada halaman muka aplikasi Anda.

  1. Contoh Ricardo meng klik link yang menunjuk ke http://www.example.com/cakes/buy dan browser akan membuat request ke server web Anda.
  2. Memeriksa dan mengirim  URL request (/cakes/buy), dan mengirim  permintaan yang sesuai ke controller .
  3. Controller logik aplikasi. Sebagai contoh, mungkin mengecek apakah Joko telah login
  4. Controller juga menggunakan model untuk mendapatkan akses ke data aplikasi. Model umumnya merepresentasikan tabel database, tetapi mereka dapat juga merepresentasikan entri LDAP, RSS feeds, atau file pada sistem. Dalam contoh ini, controller menggunakan model untuk mengambil data pembelian terakhir Ricardo  dari database.
  5. Setelah controller bekerja pada data itu. View mengambil data akhir dan menyiapkannya untuk ditampilkan ke klien. View dalam CakePHP umumnya berupa format HTML, tetapi melihat bisa saja berupa PDF, dokumen XML, atau JSON object tergantung kebutuhan Anda.
  6. Setelah  menggunakan data dari controller untuk membanguntampilan  sepenuhnya dilakukan, isi dari view tersebut akan dikembalikan ke browser milik  Ricardo.

Hampir setiap request ke aplikasi mengikuti pola ini. Kami akan menambahkan beberapa detail di kemudian hari yang khusus untuk CakePHP.

Manfaat
Mengapa menggunakan MVC? Karena merupakan perangkat  yang mengubah aplikasi ke dalam satu paket, terjaga, modular, dan berkembang cepat. Mendesain bagian aplikasi menjadi model terpisah, view /tampilan dan Controller membuat aplikasi yang sangat ringan pada saat digunakan, Fitur baru dapat dengan mudah ditambahkan, dan tampilan baru pada fitur lama merupakan sebuah cuplikan. Desain yang terpisah dan modular membuat pengembang dan desainer untuk bekerja secara simultan, termasuk kemampuan untuk cepat prototipe. Pemisahan juga memungkinkan pengembang untuk membuat perubahan di salah satu bagian dari aplikasi tanpa mempengaruhi pekerjaan orang lain.

Jika Anda belum pernah membuat aplikasi dengan cara ini, dibutuhkan beberapa waktu untuk membiasakan diri, tapi kami yakin bahwa begitu Anda telah membangun aplikasi pertama Anda menggunakan CakePHP, Anda tidak akan ingin melakukannya dengan cara lain.

Web Komunitas CakePHP

March 16, 2011 Leave a comment

Situs Resmi CakePHP
http://www.cakephp.org

  • Situs resmi CakePHP  merupakan tempat yang bagus untuk dikunjungi. Ini menjelaskan fitur fitur dan  link pada pengembang tentang fasisilitas yang  tersedia oleh CakePHP dan sering digunakan, screencast, peluang donasi, dan download CakePHP.

The Cookbook
http://book.cakephp.org

  • Buku petunjuk ini mungkin harus menjadi tempat pertama Anda  untuk mendapatkan jawaban. Seperti banyak proyek open source lainnya, kita mendapatkan orang-orang baru untuk memecahkan setiap masalah yang timbul, Cobalah yang mencari dokumentasi yang  terbaik untuk menjawab pertanyaan Anda Anda. Jawaban mungkin datang lebih lambat atau mungkin dapat lebih cepat,  Baik manual dan API memiliki komponen online.

The Bakery
http://bakery.cakephp.org

  • The CakePHP Bakery merupakan lembaga kliring untuk semua hal CakePHP.terdapat banyak tutorial, studi kasus, dan contoh kode. Setelah Anda berkenalan dengan CakePHP, bergabunglah dan berbagi pengetahuan dengan komunitas dan mendapatkan ketenaran  dan keberuntungan disana.

CakeForge
http://www.cakeforge.org

  • CakeForge sumber lain pengembang dapat Anda gunakan untuk host Anda proyek CakePHP untuk berbagi dengan orang lain. Jika Anda mencari (atau ingin berbagi) komponen yang keren atau  plugin yang keren, kunjungilah  CakeForge.

Test Case
http://api.cakephp.org/tests

  • Jika Anda pernah merasa informasi yang diberikan dalam API tidak cukup, periksa kode pada uji kasus yang diberikan oleh  CakePHP 1.3. Mereka dapat menjadi contoh praktis untuk fungsi dan penggunaan data anggota untuk kelas pemula. Untuk mendapatkan inti uji kasus Anda perlu men-download atau checkout versi 1,3 cabang dari repositori git.

IRC channel

  1. CakePHP – Diskusi Umum
  2. CakePHP-docs – Dokumentasi
  3. CakePHP-bakery- Bakery

Jika Anda bingung, anda dapat mencari kami  di channel IRC CakePHP. Seseorang dari tim pengembangan biasanya ada, terutama pada jam-jam siang hari pada waktu  Amerika Utara dan Amerika Selatan. Kami akan senang mendengar dari Anda, apakah Anda butuh bantuan, ingin mencari pengguna di wilayah Anda, atau anda ingin sekedar menyumbangkan mobil sport  merek terbaru Anda :D.

Grup Google
http://groups.google.com/group/cake-php

  • CakePHP juga memiliki komunitas di  Google yang sangat aktif . Hal ini dapat menjadi sumber daya yang besar untuk menemukan jawaban dan arsip tentang CakePHP, pertanyaan yang sering diajukan, dan mendapatkan jawaban atas masalah-masalah dengan segera.

http://book.cakephp.org/view/879/Beginning-With-CakePHP#!/view/881/Where-to-Get-Help

Pengantar CakePHP

March 16, 2011 Leave a comment

Panduan ini mengasumsikan bahwa Anda memiliki pemahaman umum tentang PHP dan pemahaman dasar pemrograman berorientasi obyek (OOP).  Fungsi yang berbeda dalam rangka memanfaatkan teknologi yang berbeda  seperti SQL , JavaScript dan XML, manual ini tidak berusaha untuk menjelaskan teknologi tersebut, hanya bagaimana mereka digunakan dalam konteks.

Apa alasan kita untuk memilih CakePHP sebagai Framework dalam melakukan web development ?

CakePHP adalah gratis, open source, rapid development framework untuk PHP. Ini adalah struktur pondasi bagi programmer untuk membuat aplikasi web. Tujuan utama CakePHP adalah untuk memungkinkan Anda untuk bekerja dalam cara yang terstruktur dan cepat tanpa kehilangan fleksibilitas.
CakePHP mengambil alih kegiatan  monoton dalam pengembangan web. Kami menyediakan semua alat yang Anda butuhkan untuk memulai coding apa yang Anda benar-benar harus dilakukan : misal  logika spesifik untuk aplikasi Anda.  Daripada menciptakan kembali kode yang sama setiap kali Anda memulai bekerja  untuk sebuah proyek baru, check out / download dulu copy dari CakePHP dan mulai dengan fitur yang nyata untuk aplikasi Anda.
CakePHP memiliki tim pengembang dan komunitas yang aktif dan ramah, membawa nilai tambah ke proyek yang anda kerjakan. Selain menjaga Anda dari pengulangan pembuatan kode yang sama dan monoton , menggunakan CakePHP berarti inti aplikasi anda sudah teruji dengan baik dan sedang terus ditingkatkan, benar benar framework yang tangguh bukan? coba dan rasakan manfaat dan kelezatannya.

Berikut daftar  fitur yang akan Anda nikmati (dengan gratis) saat menggunakan CakePHP:

  1. Komunitas yang aktif dan ramah siap membantu anda
  2. lisensi Fleksibel
  3. Kompatibel dengan versi 4 dan 5 dari PHP
  4. Terintegrasi CRUD untuk interaksi database
  5. Aplikasi Scaffolding
  6. Kode generasi, generate kode secara otomatis dari console/CUI untuk windows maupun Linux
  7. Arsitektur MVC (Model-Visual-Control)
  8. Url dapat di route dan disingkat sehingga terlihat cantik dan singkat
  9. Built-in validasi
  10. Cepat dan fleksibel  (sintaks PHP, tersedia helpers)
  11. Lihat Helpers untuk AJAX, JavaScript, HTML Bentuk dan banyak lagi
  12. Email, Cookie, Keamanan, Session, dan komponen Request Handling
  13. ACL yang fleksibel
  14. Sanitasi Data
  15. Caching yang fleksibel
  16. Pelokalan
  17. Bekerja dari direktori situs web, dengan sedikit atau tidak ada konfigurasi Apache

Dan tentunya masih sangat banyak fitur lainnya yang masih dapat anda manfaatkan dengan menggunakan CakePHP, segera rasakan kelebihan dan kelezatannya.

http://book.cakephp.org/view/880/What-is-CakePHP-Why-Use-it