Вы находитесь на странице: 1из 7

Apa itu cakePHP framework ??

3 comments

Cake PHP atau orang lebih mengenalnya dengan nama CakePHP, adalah sebuah
framework atau kerangka kerja untuk membuat aplikasi CRUD (Create, Read, Update,
Delete) berbasis bahasa pemrograman PHP. 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 masih satu trah dan mempunyai hubungan darah yang cukup erat
dengan Ruby on Rails, sebuah framework pemrograman Ruby. Artikel kali ini akan
menjelaskan sedikit mengenai CakePHP. Harapannya, sebagai developer web kita tidak
hanya terpaku pada satu metode konvensional saja, akan tetapi cobalah untuk
meningkatkan kemampuan kita dalam mengembangkan aplikasi, seiring dengan semakin
mudah dan berkembangnya bahasa pemrograman PHP itu sendiri.

Cake PHP dan Framework Lainnya

PHP merupakan sebuah bahasa pemrograman yang memungkinkan seorang developer


membuat sebuah aplikasi berbasis web yang powerful. Seiring dengan semakin
berkembangnya kebutuhan akan aplikasi berbasis PHP, dan semakin kompleksnya
pengembangan aplikasi, dibutuhkan sebuah kerangka kerja (framework), yang terdiri dari
file-file pustaka berupa class-class PHP yang bisa diincludekan dalam aplikasi yang
sedang kita kembangkan.

Selama ini, pemahaman yang kita peroleh tentang aplikasi web berbasis PHP adalah
sebuah aplikasi yang terdiri dari file-file PHP yang berisi kode-kode dan tag html yang
dicampur dengan tag PHP, atau lebih dikenal dengan nama spaghetti code (iya lah, coba
aja liat makanan spaghetti yang lebih mirip dengan bakmi campur). Pengembangan
aplikasi berbasis konvensional seperti ini tidaklah keliru, namun akan menjadi masalah
besar apabila aplikasi ini membutuhkan banyak fitur dan pengembangan di kemudian
hari. Seiring dengan berkembangnya aplikasi berbasis OOP (Object Oriented
Programming), akhirnya beberapa developer PHP bekerja sama untuk membuat sebuah
framework yang memudahkan pekerjaan mereka dalam “mencetak” aplikasi baru.
Banyak sekali framework yang beredar di internet, bahkan beberapa diantaranya
membutuhkan instalasi PHP 5 (seperti Prado dan Zend). Dari beberapa framework yang
ada, CakePHP adalah pilihan yang menarik dengan kemampuannya yang beragam dan
adaptasinya pada instalasi PHP 4.1.x dan PHP 5.

CakePHP menjadi pilihan, karena beberapa kelebihannya, antara lain :

1. Open Source, ini adalah salah satu syarat untuk berkembangnya sebuah framework
yang baik.
2. Riset yang terus-menerus dan terorganisir dengan baik. Sebuah framework bukanlah
pekerjaan yang selesai dalam waktu 1 – 2 hari. Semakin terorganisirnya sebuah
framework berbanding lurus dengan kualitas framework yang dihasilkan.

3. Dokumentasi yang lengkap. Framework yang baik harus mempunyai dokumentasi


yang lengkap, karena sekumpulan class tanpa dokumentasi tak lebih dari sebongkah file
yang asing dan menambah masalah developer. Untuk referensi lebih lengkap (gunakan
manual dan API CakePHP), silahkan buka http://www.cakephp.org

4. OOP dan yang lebih penting lagi adalah MVC. MVC singkatan dari Model, View,
Controller. Waduh, apalagi tuh ? Baca subbab selanjutnya !

5. CakePHP memungkinkan pengaturan user dan hak aksesnya dalam aplikasi yang kita
kembangkan, dengan sarana yang lebih mudah dipahami. Fitur ini dikenal dengan nama
Access Control List (ACL).

6. Scaffolding. Ya, barangkali inilah fitur yang jarang didapat pada framework lain.
Hanya dengan menambahkan pada file controller Anda code :
var $scaffold ;
maka Cake akan secara otomatis mengenerate semua yang dibutuhkan untuk membuat
aplikasi CRUD (Create, Read,Update, Delete) secara lengkap. Nggak percaya ? Tunggu
aja edisi tutorial kelanjutan artikel ini.

Apa saja yang harus dipelajari untuk pemula ?

Untuk mempelajari CakePHP, setidaknya ada beberapa pemahaman yang seyogyanya


dikuasai :

1. Pemrograman Berbasis Objek (OOP). PHP sudah mendukung OOP, dan untuk lebih
memahami cara kerja framework, tidak ada salahnya anda mempelajari pola kerja OOP
pada pemrograman PHP.

2. Model basis data relasional. Nggak wajib sih, tapi sangat membantu untuk
memudahkan kita dalam menyusun basis data yang valid dan mudah dimengerti oleh
framework. Apalagi untuk aplikasi rumit yang membutuhkan banyak tabel dan
normalisasi.

3. Terminologi MVC. MVC singkatan dari Model, View, dan Controller.

Model : representasi aktif dari struktur database Anda. Framework berbasis MVC
menekankan pentingnya disain database yang valid, termasuk hubungan antar tabel
dalam database tersebut. Model memungkinkan developer untuk melakukan query antar
database (bila memang diperintahkan oleh controller). Sebuah aplikasi MVC yang baik
memisahkan antar tampilan dan logika kerja (logic). Model adalah sesuatu yang mewakili
basis data yang diolah sedemikian rupa oleh controller (logic), untuk ditampilkan (view)
hasil olahannya.
View : tampilan luar dari aplikasi Anda. User akan berhadapan langsung dengan tampilan
ini. View tidak boleh mengandung bussiness logic, alias logika kerja aplikasi. Bisa
dikatakan, view adalah template dari tampilan aplikasi Anda yang memudahkan Anda
untuk menggantinya di kemudian hari.

Controller : inilah bagian yang paling signifikan dari sebuah aplikasi berbasis MVC.
Benar dan tidaknya hasil olahan data akan sangat tergantung dari logika kerja aplikasi
yang tersusun pada bagian controller ini. Controller akan mengolah data dari model,
menyimpannya dalam variabel-variabel, dan menampilkannya pada view.

4. Last but not least adalah, segala sesuatu yang ada hubungannya dengan CakePHP,
mulai dari manual, tutorial, API, artikel yang terkait dengannya, sampai kemudian
contoh-contoh aplikasi yang ada. Pada bagian akhir artikel ini akan disediakan link
downloadan tentang segala sesuatu yang mungkin dibutuhkan untuk pemula yang ingin
mempelajari CakePHP dengan lebih sistematis.

Struktur kerja CakePHP

Bagan Struktur Kerja CakePHP

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 dan memberikannya pada view (tampilan) yang dipilih.
Tampilan inilah yang akan dilihat oleh user pada browsernya.

Adapun susunan dari instalasi Cake adalah sebagai berikut :

o app/
config/
controllers/
models/
plugins/
tmp/
vendors/
views/
webroot/
o cake/
config/
docs/
libs/
o vendors/

Keterangan lebih jauh tentang fungsi masing-masing file yang tersimpan pada folder-
folder di atas bisa diakses pada http://manual.cakephp.org

Ingin tahu lebih banyak ?


Oke, ini dia saatnya bagi-bagi ilmu. Untuk lebih jelasnya, Anda semua bisa menikmati
segala sesuatu yang berhubungan dengan CakePHP dengan membongkar dan
mendownload yang ada pada situs :

1. Kumpulan artikel dan tutorial praktis, sudah saya rangkum dalam satu file rar, anda
tinggal mendownloadnya di sini .

2. Bakery Cake, sudah saya downloadkan versi offlinenya. Tinggal klik aja di sini.

3. Wiki CakePHP. Segudang tutorial dan jurus-jurus maut CakePHP. Tinggal download
aja versi offlinenya di sini dan silahkan di baca di rumah.

4. Situs resmi CakePHP, wajib dikunjungi, jika Anda memang ingin maju. Silahkan
arahkan browser Anda ke http://www.cakephp.org

5. Manual CakePHP, wajib dimiliki ! Download di http://manual.cakephp.org

6. http://rossoft.wordpress.com/, blog milik salah seorang pengguna CakePHP

7. http://h3rald.com, situs bagus, kaya akan penjelasan, berikut tutorial tentang CakePHP.
Di sini bisa juga ditemukan referensi website yang lebih lengkap tentang CakePHP.

8. http://cakeforge.org/, pusat download CakePHP dan segala macam project yang


menggunakan CakePHP sebagai based framework-nya. Cocok buat referensi gaya coding
kamu !
9. http://thinkingphp.org, sebuah blog yang mengupas habis teknik coding php yang
benar dan berbasis MVC. Dibahas pula beberapa apikasi yang dibuat berdasar CakePHP.

10. http://groups.google.com/group/cake-php, kumpulan user Cake yang bergabung


dalam Google user group.

11. http://cakebaker.wordpress.com, buka aja. Bagus buat renungan juga.

12. http://grahambird.co.uk/cake/ , ini wajib dibuka buat newbie. Isinya bagus banget dan
mudah dipahami. Langsung mak nyus …

13. http://www.zzine.org/articles/cakephp , cukup menarik untuk lebih memahamkan kita


tentang filosofi dan sejarah CakePHP.

14. http://snook.ca/jonathan/, blog pribadi. Bagus juga koq buat referensi.

15. http://snook.ca/archives/cakephp/twentyone_things/, 21 Things I learned about


CakePHP. Cukup menarik untuk menambah “keimanan” kita tentang framework yang
saat ini sedang kita kupas ini.

16. http://www.cakephpforum.com, unofficial forum of CakePHP.


17. http://rd11.com, project manager dari CakePHP project.

CakePHP is a free, open-source, rapid development framework for PHP. It’s a

foundational structure for programmers to create web applications. Our primary goal is to
enable you to work in a structured and rapid manner–without loss of flexibility.

CakePHP takes the monotony out of web development. We provide you with all the tools
you need to get started coding what you really need to get done: the logic specific to your
application. Instead of reinventing the wheel every time you sit down to a new project,
check out a copy of CakePHP and get started with the real guts of your application.

CakePHP has an active developer team and community, bringing great value to the
project. In addition to keeping you from wheel-reinventing, using CakePHP means your
application’s core is well tested and is being constantly improved.

Here’s a quick list of features you’ll enjoy when using CakePHP:

• Active, friendly community


• Flexible licensing
• Compatible with versions 4 and 5 of PHP
• Integrated CRUD for database interaction
• Application scaffolding
• Code generation
• MVC architecture
• Request dispatcher with clean, custom URLs and routes
• Built-in validation
• Fast and flexible templating (PHP syntax, with helpers)
• View Helpers for AJAX, JavaScript, HTML Forms and more
• Email, Cookie, Security, Session, and Request Handling Components
• Flexible ACL
• Data Sanitization
• Flexible Caching
• Localization
• Works from any web site directory, with little to no Apache configuration
involved
CakePHP follows the MVC software design pattern. Programming using MVC separates
your application into three main parts:

1. The Model represents the application data


2. The View renders a presentation of model data
3. The Controller handles and routes requests made by the client

Figure: 1: A Basic MVC Request

Figure: 1 shows an example of a bare-bones MVC request in CakePHP. To illustrate,


assume a client named "Ricardo" just clicked on the “Buy A Custom Cake Now!” link on
your application’s home page.

• Ricardo clicks the link pointing to http://www.example.com/cakes/buy, and his


browser makes a request to your web server.
• The dispatcher checks the request URL (/cakes/buy), and hands the request to the
correct controller.
• The controller performs application specific logic. For example, it may check to
see if Ricardo has logged in.
• The controller also uses models to gain access to the application’s data. Models
usually represent database tables, but they could also represent LDAP entries,
RSS feeds, or files on the system. In this example, the controller uses a model to
fetch Ricardo’s last purchases from the database.
• Once the controller has worked its magic on the data, it hands it to a view. The
view takes this data and gets it ready for presentation to the client. Views in
CakePHP are usually in HTML format, but a view could just as easily be a PDF,
XML document, or JSON object depending on your needs.
• Once the view has used the data from the controller to build a fully rendered view,
the content of that view is returned to Ricardo’s browser.

Almost every request to your application will follow this basic pattern. We'll add some
details later on which are specific to CakePHP, so keep this in mind as we proceed.
# Benefits

Why use MVC? Because it is a tried and true software design pattern that turns an
application into a maintainable, modular, rapidly developed package. Crafting application
tasks into separate models, views, and controllers makes your application very light on its
feet. New features are easily added, and new faces on old features are a snap. The
modular and separate design also allows developers and designers to work
simultaneously, including the ability to rapidly prototype. Separation also allows
developers to make changes in one part of the application without affecting others.

If you've never built an application this way, it takes some time getting used to, but we're
confident that once you've built your first application using CakePHP, you won't want to
do it any other way.

Вам также может понравиться