Sabtu, Juli 06, 2013

Mengenal PHP dan Framework dalam PHP

Mengenal PHP
PHP, awalanya dikenal sebagai Personal Home Page, diciptakan pada tahun 1995 oleh Rasmus Lerdorf yang digunakan sebagai bahas scripting untuk merancang halaman web yang dinamis. Selama beberapa tahun  kedepan perkembangan php telah banyak perubahan dengan adanya sejumlah apliksi seprti Drupal, MyBB, Concrete5, Joomla, dan Wordpress yang menggunakan coding PHP.

PHP juga dikenal sebagai Hypertext Preprocessor, yang diproduksi oleh PHP Grup yang disediakan sebagai software open source dibawah lisensi PHP (Seperti GNU, general Public License, lisensi PHP memiliki pembatasan tertentu terkait dengan istilah penggunaan php). PHP adalah salah satu platform pertama server-side untuk memasukkan dokumen kedalam HTML bukan memanggil file eksternal untuk memproses data. Interpretasi kode PHP dilakukan oleh web server menggunakan modul prosesor PHP, yang menghasilkan halaman web sebagai output. Versi saat ini yang tersedia dari php ada versi php 5.3.15 dan versi 5.4.5

Mengenal Framework
Secara sederhana framework adalah kumpulan fungsi (libraries),maka seorang programmer tidak perlu lagi membuat fungsi-fungsi (biasanya disebut kumpulanlibrary) dari awal, programmer tinggal memanggil kumpulan library atau fungsi yang sudah adadidalam framerwork, tentunya cara menggunakan fungsi-fungsi itu sudah ditentukan olehframework. Beberapa contoh fungsi-fungsi standar yang telah tersedia dalam suatu framework adalah fungsi paging, enkripsi, email, SEO, session, security, kalender, bahasa, manipulasigambar, grafik, tabel bergaya zebra, validasi, upload, captcha, proteksi terhadap XSS (XSSfiltering), template, kompresi, XML dan lain-lain.

Programmer atau developers dapat menggunakan frameworks yang sudah ada dalam pembuatan suatu aplikasi program. Dengan menggunakan frameworks akan didapat banyak manfaat diantaranya :
• Speed of Development : Mempercepat pengembangan aplikasi.
• Robustness : Aplikasi yang mempunyai performa dan keamanan yang tangguh.
• Simple : Kode dan logika yang terdapat dalam aplikasi tertata dengan rapi, terjaga tetap teratur, mudah dibaca sehingga akan mempermudah proses maintenance-nya.

PHP Framework menggunakan metode pengembangan berbasis MVC. Namun apa itu MVC ? MVC merupakan suatu metode untuk memisahkan bagian-bagian dari suatu web aplikasi. MVC adalah kependekan dari Model View Controller. 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.

Macam-Macam Framework PHP yang biasa digunakan :

Cake PHP Framework
CakePhp adalah sebuah framework open source yang di gunakan untuk mengembangkan aplikasi web dengan dasar kerja CRUD (create, read, update, delete), dengan menggunakan CakePhp programer web tidak usah membuat terlalu banyak coding untuk menginput data, baca data, ganti data dan menghapus data, itu semua sudah terkoneksi ke database.

Kelebihan :
• Ringan. CakePHP adalah salah satu framework paling ringan kedua setelah Code Igniter, dengan ukuran 300 Kb dalam satu file .zip .Salah satu prinsip yang dijunjung tinggi oleh para programmer CakePHP adalah “no we-might-need-it code”, atau dengan kata lain, semua code dalam CakePHP adalah bermanfaat dan selalu digunakan dalam pembuatan aplikasi. Tidak ada code-code sampah yang tidak berguna dan memperbesar ukuran framework secara keseluruhan.
• Kompatibel dengan PHP 4 dan PHP 5.
• Mendukung AJAX. Buat yang suka mainan animasi real time pake AJAX, CakePHP sudah mendukung AJAX. Yang pasti aplikasi Web 2.0 AJAX yang kamu buat akan berjalan dengan cepat dan mudah.
Kekurangan :
• Dokumentasi yang belum lengkap. CakePHP adalah framework yang selalu berkembang, demikian pula dokumentasinya. Maka dari itu, komunitas pengembang CakePHP selalu meng-update dokumentasi CakePHP, sesuai dengan perkembangan CakePHP itu sendiri
• Belum ada dukungan internasionalisasi. Ya, sampai saat ini, release terbaru dari CakePHP belum support i18n, alias internasionalisasi bahasa-bahasa yang ada di dunia. Tapi sekali lagi, ini adalah bagian dari proses pengembangan, yang akan disempurnakan di release-release terbaru.


Yii Framewok
Yii Framework adalah framework PHP berbasis-komponen, berkinerja tinggi untuk pengembangan aplikasi Web berskala-besar. Yii menyediakan reusability maksimum dalam pemrograman Web dan mampu meningkatkan kecepatan pengembangan secara signifikan. Nama Yii merupakn singkatan dari “Yes It Is!” dan juga merupakan singkatan dari easy, efficient dan extensible (mudah, efisien, dan bisa diperluas).

Kelebihan:
• Yii adalah salah satu framework yang sangat ringan dan dilengkapi dengan solusi caching yang memuaskan.
• Yii sangat cocok untuk pengembangan aplikasi dengan lalu lintas-tinggi, seperti portal, forum, sistem manajemen konten (CMS), sistem e-commerce, dll.
• Strict PHP 5 code
• Sangat Extensible dan modular
• MVC namun juga component Base

Kekurangan :
• Tidak compatible dengan PHP4

Code Igniter Framewok
Pengembang CodeIgniter adalah seorang musisi rock-n-roll bernama Rick Ellis dari EllisLab (http://www.ellislab.com). Tujuan dari pembuatan framework CodeIgniter ini menurut user manualnya adalah untuk menghasilkan framework yang akan dapat digunakan untuk pengembangan proyek pembuatan website secara lebih cepat dibandingkan dengan pembuatan website dengan cara koding secara manual, dengan menyediakan banyak sekali pustaka (library) yang dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan.

Kelebihan :
• Mudah digunakan dan tidak memerlukan konfigurasi yang rumit
• Fungsi-fungsi pendukung yang cukup lengkap
• Mendkung PHP4 dan PHP5

Kekurangan :
• Tidak mendukung AJAX, dan ORM
• Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikan kebebasan user untuk melanggar aturan MVC

Symfony Framework
Symfony adalah framework yang dikembangkan oleh Sensio Labs, sebuah perusahaan software perancis, yang mulai di release ke publik pada Oktober 2005. Sejak awal kemunculannya, symfony core team selalu concern dengan dokumentasinya, sehingga mereka menjamin kita tidak perlu mempelajari source code symfony secara mendalam cukup dengan mempelajari buku-buku/dokumentasi yang mereka buat.

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
Zend Framework adalah salah satu framework bahasa pemrograman PHP yang berbasis OOP (Oject Oriented Programming), sederhana, dan open source dan juga difokuskan untuk membangun aplikasi Web 2.0 dan Web Service yang lebih aman, reliabel dan modern. Framework ini juga telah mendukung API untuk beberapa vendor seperti e Google, Amazon, Yahoo!, Flickr

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).
• Framework ini hanya cocok untuk orang dengan skill PHP yang sudah sangat tinggi.

Resources by:
http://infophphosting.blogspot.com/2013/07/php-hosting-panduan-framework-php-untuk.html

1 comments: