Mengenal PHP Framework
December 30, 2008 by Suwito
Filed under Web Application
Isu tentang PHP framework merupakan topik yang sangat ramai diperbincangkan di komunitas PHP. Pemakaian framework dalam pengembangan aplikasi web berbasis PHP lebih praktis dan menghemat waktu dibandingkan harus memulai dari nol. Selain itu ada beberapa hal yang menarik untuk didiskusikan, misalnya masalah sekuriti, validitas data, autentikasi user hingga dukungan teknologi AJAX yang sedang populer akhir-akhir ini.
Hingga saat ini banyak tersedia framework PHP dan bisa didownload oleh pengguna di Internet. Jumlah tersebut kemungkinan masih akan bertambah mengingat PHP merupakan platform open source.
Pada kesempatan ini, saya coba mereview 6 diantara banyaknya framework PHP, yaitu CodeIgniter, Prado, CakePHP, Symfony, Zend Framework, Klorofil.
- CodeIgniter
CodeIgniter mendukung PHP 4 dan PHP 5. Selain itu CodeIgniter juga mengadopsi arsitektur MVC, namun tidak mendukung konsep ORM. Banyak modul yang siap digunakan seperti Session Management, Email Sending, Image Manipulation Library, File Uploading, XML-RPC, Calendaring, dan masih banyak lagi yang lainnya. Satu hal yang cukup menarik di CodeIgniter adalah dokumentasi yang tersedia sangat banyak dan terorganisir dengan baik sekali. - Prado
Berbeda dengan kebanyakan web framework, Prado merupakan framework yang berbasis komponen dan event-driven. Konsepnya sangat mirip dengan pemrograman di Delphi dan ASP.Net. Komponen Prado sendiri merupakan gabungan dari file spesifikasi (dalam format XML), template HTML dan PHP class. Prado juga mendukung pemakaian berbagai database populer seperti MySQL, PostgreSQL, dan lainnya. Pada awalnya mendukung PHP 4 tapi pada rilis selanjutnya dukungan untuk PHP 4 dihilangkan. Saat ini hanya mendukung PHP5. - CakePHP
Seperti halnya CodeIgniter, CakePHP bisa dijalankan di PHP 4 maupun PHP 5. CakePHP juga mendukung berbagai database populer. Tambahan modul yang disiapkan seperti Security, Session, Access Control List, dan Authentication memungkinkan kita membangun aplikasi dengan cepat dan mudah. Tak hanya itu, CakePHP juga mendukung JavaScript, AJAX, RSS, Email, dan XML yang sudah terintegrasi dalam core library-nya. Kekurangannya yakni kurangnya dokumentasi yang disediakan. Meskipun demikian pertumbuhan komunitas yang mendukung CakePHP ini sangat pesat. CakePHP memiliki konsep arsitektur MVC (Model View Controller) dan ORM (Object Relational Mapping). - Symfony
Symfony adalah framework web yang ditujukan untuk PHP 5 dan kompatibel dengan berbagai sistem database. Sama seperti CakePHP dan CodeIgniter, menganut arsitektur MVC (Model View Controller). Dukungan untuk AJAX juga tersedia di framework Symfony ini. Dokumentasi yang disediakan cukup baik. Yang menjadi masalah adalah pada proses instalasi dan konfigurasi yang sedikit rumit dibandingkan dengan framework sebelumnya. - Zend Framework
Fokus dari Zend Framework ini adalah untuk membangun aplikasi berbasis Web 2.0 dan untuk memudahkan dalam mengakses API dari berbagai vendor seperti Google, Amazon, Yahoo!, dan Flickr. Tidak mengherankan jika Zend Framework menyediakan berbagai modul yang spesifik untuk Web 2.0, seperti AJAX, Syndication, Search, dan Web Services. - Klorofil Collaboration Project
Merupakan framework yang dibuat oleh kumpulan programmer Indonesia. Salah satu fitur menarik dari Klorofil Platform 0.1 adalah GUI framework berbasis PHP yang dinamakan gambArt. Dengan menggunakan gambArt kita dapat membangun aplikasi GUI (aplikasi desktop) berbasis PHP. gambArt hanyalah merupakan bagian kecil dari Klorofil Platform. Selain gambArt, Klorofil Platform memiliki banyak fitur menarik lainnya. Seperti MVC Web application framework (semok), Distributed computing (televoke), Class collection (SMS, compression, byte compiler, XML, dll) dan nantinya, Klorofil juga akan menyediakan 3D library dan GUI builder.
Penampilan pertama cukup menggoda, selanjutnya terserah Anda…
Sangat sulit untuk menentukan mana framework yang terbaik. Dikarenakan masing-masing memiliki kelebihan dan kekurangan. Tidak ada satu solusi yang bisa dipakai untuk menyelesaikan semua persoalan. Jadi kita perlu mempertimbangkan kira-kira framework apa yang cocok dan paling pas untuk aplikasi yang ingin kita kembangkan.
Menurut saya pribadi, untuk memilih mana framework yan cocok untuk kita, jangan terlalu terfokus pada fitur yang disediakan. Tapi fokuslah pada project yang kita kerjakan. Dan kemudian tinggal memilih mana framework yang mendukung project tersebut.







