PHP adalah bahasa pemrograman web yang paling populer di web. Bahasa ini dipakai diwebsite besar di dunia seperti facebook, twitter dan wikipedia. Dengan banyaknya pemakai dan makin kompleknya permasalahan pemrograman web yang dihadapi saat ini maka munculah puluhan framework di luar sana. Framework adalah sekumpulan class dan library yang terpadu sehingga memudahkan menyelesaikan permasalahan pemrograman secara menyeluruh yang berefek pada  waktu pembuatan website  menjadi lebih singkat. Beberapa contoh framework di PHP adalah CakePHP, Zend Framework, CodeIgniter dan Yii Framework.

Permasalahannya, ketika programmer baru ingin mencoba framework, dia bingung dalam memilih mana yang paling cocok bagi dia. Agar tidak bingung memilih, kita harus paham dulu fitur yang ditawarkan oleh Framework apakah cocok bagi kita.

Berikut ini adalah fitur yangharus kita pahami.

MVC

Model View controller adalah konsep mengembangkan aplikasi yang memisah antar user interface (view) dengan Aksi (controller) dan operasi database (model). Dengan pemisahan ini, maka code akan lebih rapih dan memudahkan kerja team. Semua Framework menggunakan Model ini. Jangan lupa, sebelum belajar MVC, anda harus paham konsep Pemrograman berorientasi object.

Push dan Pull

Konsep pengiriman data dibagi menjadi dua, yaitu push dan pull. Push artinya user melakukan aksi, baru server mengirim data, contohnya saat anda mengklik sebuah link. Kebalikan dari Push adalah Pull, server mengirim data ke user tanpa melalui proses ‘action’ user, namun lewat triger . Contohnya adalah notifikasi facebook atau timeline twitter. Kalau penjelasan saya salah, tolong dikoreksi:).

ORM (Object Relational Mapping )

Object Relational Mapping adalah teknik menghubungkan database relasional dengan bahasa pemrograman Berorientasi object. Tujuannya adalah memudahkan dalam operasi data. Konsep ini banyak dipinjam dari Java dan Ruby on rail.

Scaffolding (CRUD)

Scaffolding fitur yang berhubungan dengan operasi CRUD (Create, retrive,udpate,delete) database. Jika suatu framework sudah mendukung Scaffolding, maka proses proses yang berhubungan dengan database sangat cepat dibuat, bahkan bererapa framework akan membuatkan secara otomatis untuk anda. Fitur Scaffolding ada hampir disetiap framework PHP, namun Framework yang mempunyai kemampuan  membuatkan code untuk pengolahan database  untuk anda adalah Yii Framework.

i18n & L10n (internasionalisasi dan lokalisasi)

Internasionalisasi adalah fitur untuk memudahkan programmer membuat satu website multibahasa. Sedangkan lokasisasi membuat website mendukung banyak format lokal. Sebagai contoh, format mata Uang, Format waktu dan format Angka. Yii dan Zend adalah framework yang mendukung fitur ini.

Ajax

Ajax adalah teknologi yang memungkinkan transfer data antara browser dengan server terjadi dibelakang layar. Dengan ajax, website anda lebih interaktif dan responsif. Framewwork yang sudah mendukung ajax adalah Zend, Yii, cakePHP dan Code Igniter, namun implementasi ajax untuk masing masing framework berbeda beda, ada yang menggunakan Library Javascript pihak ketiga seperti jQuery ada juga yang  builtin terintegrasi framework.

Form Validation

Validasi form adalah teknik pengecekan input data user . contohnya apakah textfield tidak boleh kosong, input harus angka,  input harus email dan sebagainya.  Sebagian besar framework sudah mengimplementasikan fitur ini. Manfaatnya bagi programmer akan sangat terasa karena tidak perlu lagi membuat code validasi.

Caching

Caching adalah teknik menyimpan halaman  atau data yang diambil dari database ke memory atau ke folder temporary di server. Tujuannya, jika ada user lain yang meminta data yang sama, controller tidak perlu mengambil ke database, tapi langsung di ambilkan dari cache. Efeknya,user merasa akses lebih cepat dan beban server juga berkurang. Caching sangat terasa manfaatnya  jika visitor website mencapai ribuan atau jutaan view dalam sehari.

Security

Security disini sangat luas, namun intinya adalah mengamankan server, code, data dan aplikasi dari input yang itdak valid atau akses dari pihak yang tidak bertanggung jawab. Teknik pengamanan masing-masing framework berbeda .  Ada yang hanya mendukung akses control list (autorisasi), ada yang menekankan pada SQL injection dan ada yang mengamankan dari berbagai sisi lainnya. Intinya makin banyak fitur kemanannya makin bagus frameworknya, namun makin komplek sistem dan librarynya.

Template

Template digunakan untuk membuat tampilan konsisten, cantik dan standar. Beberapa framework membuat templatenya sendiri, namun ada juga framework yang memanfaatkan template dari project lain seperti Smarty atau QFrom. Beberapa framework membuat fitur ini makin canggih, misalkan dukungan terhadap thema(mirip dengan fitur WordPress atau Joomla).

kesepuluh hal itulah yang perlu anda pertimbangkan saat memilihnya. Informasi lengkap tentang framework dan perbandinganya bisa anda akses di

  1. PHP Framework, website yang berisi informasi framework PHP dan popularitasnyahttp://www.phpframeworks.com/
  2. Wikipedia, Comparison of Web Application ( section PHP) http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#PHP_2

By Candra Adi Putra

Candra Adi Putra S.Kom adalah Alumni STMIK AKAKOM Yogyakarta. hubungi saya di candraadiputra (at) gmail (dot) com

One thought on “Memahami Fitur PHP Framework”

Leave a Reply

Your email address will not be published. Required fields are marked *

Discover more from CandraLab

Subscribe now to keep reading and get access to the full archive.

Continue reading