Sunday, April 14, 2013

apa itu PHP Framework?

Framework dapat diartikan sebagai sebuah kerangka kerja yang digunakan untuk mempermudah penyelesaian sebuah pekerjaan. Jika dikaitkan dengan PHP maka dapat diartikan sebagai suatu kerangka kerja yang telah terpola dengan tujuan memudahkan pengembang web dalam menyusun rangkaian proses dengan bahasa pemrograman PHP. Misal dalam membuat sebuah aplikasi web, pengembang harus menuliskan kode program secara berulang dengan kompleksitas tinggi. Hal tersebut tentunya akan sangat mengurangi tingkat efisien waktu serta menguras pikiran bahkan kode yang dihasilkan mungkin saja kurang optimal dari segi penulisan serta proses yang dilakukan dalam program. Dengan PHP Framework semua bisa teratasi, karena secara umum semua yang kita butuhkan dalam membangun aplikasi web sudah disediakan dan dikemas menjadi pola-pola tertentu yang disebut dengan class. Dengan PHP Framework kita hanya menuliskan kode-kode logika yang akan diproses sesuai aturan main dari framework yang digunakan.
PHP Framework menggunakan metode pengembangan berbasis MVC (Model View Controller) yang merupakan suatu metode untuk memisahkan bagian-bagian dari suatu web aplikasi. MVC terdiri dari tiga bagian yaitu :
  1. Model : Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu kita dalam pengelolaan database seperti memasukkan data ke database, update data dan lain-lain.
  2. View : View adalah bagian yang mengatur tampilan ke user. Bisa di katakan berupa halaman web.
  3. Controller : Controller merupakan bagian yang menjembatani model dan view. Controller berisi script-script php yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.
Dengan metode MVC, bagian tampilan, logika serta query database diletakkan secara terpisah namun tetap sinkron dengan sistem framework sehingga pembuatan aplikasi menjadi lebih terstruktur dan sederhana. Model digunakan dalam menuliskan script database, Controller untuk mengembangkan logika pemrogramannya, sedangkan View berfungsi dalam menampilkan layout dari aplikasi yang kita buat.

Kelebihan menggunakan PHP Framework

  1. Ringan dan cepat. Framework hanya melakukan pemanggilan pustaka/kelas yang dibutuhkan sehingga meminimalkan resource yang diperlukan sehingga ketika kita memproses sebuah halaman akan menjadi lebih ringan dan cepat.
  2. Lebih mudah untuk dikembangkan lagi karena kode program lebih terstruktur sesuai dengan alur logika proses yang dilakukan.
  3. Adanya pemisahan bagian program berdasar fungsi sehingga lebih mudah untuk melakukan perbaikan jika terjadi kesalahan
  4. Mendukung banyak database sehingga kita tidak perlu lagi memikirkan bagaimana melakukan penyesuaian dengan jenis database yang lain

Kapan menggunakan PHP Framework

Banyak alasan kenapa tidak semua orang menggunakan Framework, diantaranya karena pekerjaan yang dilakukan masih tergolong sederhana dan mempunyai waktu yang banyak untuk menyelesaikanya. Selain itu Framework juga bersifat instan sehingga daya kembang kita terikat dengan pola-pola yang telah ditetapkan, sehingga tidak cocok jika anda sedang belajar dasar-dasar pemrograman PHP. Kapan waktu yang tepat anda menggunakan Framework adalah pada saat anda sudah mengenal cara kerja php, sudah matang dalam logika, memiliki waktu sedikit untuk menulis kode program, dan mengerjakan aplikasi yang memiliki kompleksitas tinggi.

PHP Framework yang sering digunakan

CodeIgniter

Kelebihan
  • Mudah digunakan dan tidak memerlukan konfigurasi yang rumit
  • Fungsi-fungsi pendukung yang cukup lengkap
  • Mendkung PHP4 dan PHP5
  • Mungkin merupakan Framework MVC paling populer dan paling banyak digunakan
  • Dokumentasi yang sangat bagus, friendly dan didukung oleh forum, wiki, dan komunitas yang besar
Kekurangan
  • Tidak mendukung AJAX, dan ORM
  • Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikan kebebasan user untuk melanggar aturan MVC

CakePHP

Kelebihan
  • Dukungan terhadap AJAX, ORM
  • Automagic function seperti validasi input, dll, yang mempercepat coding
  • Support PHP4 dan PHP5
  • Lebih mencerminkan MVC yang sesungguhnya dibandingkan CI
  • Komunitas pengguna yang besar dan forum cukup baik
Kekurangan
  • Manual yang ada tidak selengkap CI.
  • Butuh waktu belajar yang lebih lama untuk menguasai framework ini dibanding CI. Tapi jika sudah benar-benar mengerti, banyak kelebihan dibanding CI. Beberapa situs menyarankan anda untuk belajar dan terbiasa dulu dengan CodeIgniter baru kemudian mempelajari CakePHP.

Symfony

Kelebihan
  • Dukungan terhadap AJAX, ORM.
  • Kompatibel dengan berbagai macam database.
  • Banyak library dan fungsi symfony yang sudah tersedia. Bahkan hampir mendekati CMS. Sehingga ada yang mengatakan ”Symphony is a CMS with a heart of a framework.” ini menjadi kelebihan sekaligus kekurangan.
Kekurangan
  • Tidak mendukung PHP4.
  • Relatif butuh waktu lama untuk mengerti framework ini.
  • Instalasi dan konfigurasinya cukup rumit.

Zend Framework

Kelebihan
  • Dukungan terhadap AJAX, ORM.
  • Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari Zend Framework ini adalah untuk membangun aplikasi berbasis Web dan untuk memudahkan dalam mengakses API dari berbagai vendor seperti Google, Amazon, Yahoo!, dan Flickr.
Kekurangan
  • Tidak mendukung PHP4.
  • Manual yang ada kurang mengakomodasi kebutuhan.
  • Performanya relatif lambat (mungkin karena banyaknya library).
  • Konon katanya Framework ini hanya cocok untuk orang dengan skill PHP yang sudah sangat tinggi.
Perbandingan masing-masing framework php bisa anda lihat di : http://www.phpframeworks.com/

No comments:

Post a Comment

Kebahagiaan sejati bukanlah pada saat kita berhasil meraih apa yg kita perjuangkan, melainkan bagaimana kesuksesan kita itu memberi arti atau membahagiakan orang lain.