Membuat web sangatlah tidak mudah, ada banyak source yang terkait didalamnya, dan banyak klien yang mau ini itu tanpa tahu prosesnya. PHP mungkin menjadi salah satunya. Bahasa pemrograman ini memang dirancang untuk para pengembang web agar dapat menciptakan suatu halaman web yang bersifat dinamis. PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995 dan terus dikembangkan hingga saat ini. Ada banyak sekali web termasuk CMS yang dibuat menggunakan bahasa PHP seperti WordPress dll. Itu hanya sekilas tentang PHP.

Bagi seorang developer, sangat terbantu oleh adanya framework.

Namun apa itu PHP Framework?

Framework dapat diartikan sebagai sebuah kerangka kerja. Kerangka kerja dimana dapat memudahkan pekerjaan kita. Jika dikaitkan dengan PHP maka PHP Framework dapat diartikan sebagai suatu kerangka kerja yang telah terpola dan memudahkan pengembang web dalam pembuatan web yang menggunakan script PHP. Mempermudah yang dimaksud misalnya dalam membuat sebuah aplikasi web kita sering menulis script PHP secara keseluruhan (konvensional) dan itu pun kita ulang pada halaman yang lain. Bukankah itu begitu tidak efesien disamping berat ketika diload? Dengan PHP Framework semua bisa teratasi. Semuanya sudah diatur menjadi pola-pola tertentu yang disebut dengan class. Pola/class inilah yang meringankan kita dalam penulisan script dan load halaman web.

PHP Framework berbeda jika dibandingkan dengan CMS (Content Management System), meski sama-sama meringankan dalam pembuatan web. Jika menggunakan CMS, kita tidak perlu pusing menulis script. Semuanya telah dibuat instan dan kita hanya perlu mengatur bagian content dan interfacenya saja. Tetapi tidak demikian dengan Framework. Membangun sebuah aplikasi web dengan menggunakan framework, kita tetap harus menuliskan script sesuai dengan ruang lingkungan yang disediakan oleh framework.

Framework = Kerangka Kerja
PHP = Bahasa pemrograman server-side

Analogi mudahnya begini, kita mau buat bangku dari kayu/bambu. Nah, kita beli kayu/bambu dari manapun itu entah toko atau nemu dijalan asal sudah berbentuk kayu/bambu, selanjutnya beli paku dan ambil palu atau beli jika belum punya, final step-nya ya tinggal getok aja lalu jadi bangku.

Toko = framework
Material = plugin/fitur dari framework

Sekarang kita bedakan dengan yang native. Sama juga mau buat bangku, bedanya kita ke hutan dulu tebang pohon, tebang bambu lalu dijadikan bahan untuk membuat sesuatu. Kita harus potong-potong ke bagian kecil, lalu kita amplas biar halus. Sudah ada bahan dasar, lalu dirakit menjadi bangku. Bisa bayangkan berapa banyak waktu yang kita buang, keringat yang bercucuran, dan nafas yang berhembus silih berganti. Hehe

Next, PHP Framework biasanya 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 :

  • 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, intinya CRUD Data.
  • View : View adalah bagian yang mengatur tampilan ke user. Bisa dikatakan berupa halaman web yang berhubungan dengan front-end.
  • Controller : Controller merupakan bagian yang menjembatani antara model dan view. Controller berisi script-script php yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web tertentu.

Berikut diagramnya :

Disinilah letak perbedaan utama antara framework dengan CMS atau PHP konvensional (native). Dengan metode MVC, bagian tampilan, logika, serta query database diletakkan secara terpisah namun tetap sinkron 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 Framework
  1. Ringan dan cepat. Framework hanya melakukan pemanggilan pustaka/kelas yang dibutuhkan sehingga meminimalkan resource yang diperlukan sehingga ketika kita me-load sebuah halaman akan menjadi ringan dan cepat.
  2. Menggunakan metode MVC. Seperti yang telah dijelaskan sebelumnya, semua framework menggunakan software design pattern MVC (Model-View-Controller) dimana query, tampilan, dan kontrol dipisah. Jadi, seorang front-end developer bisa fokus ke view, dba bisa ke query, dan back-end developer bisa fokus hanya controller saja. So, project jadi lebih cepat selesai.
  3. Mayoritas mendukung berbagai jenis database, seperti MySQL, PostgreSQL, dan lain-lain.

Untuk itu kita langsung saja simak, ada web framework apa saja yang cukup populer di PHP.

1. CodeIgniter

Github URL: https://github.com/bcit-ci
Official Website: https://codeigniter.com

Bermula dikembangkan oleh Rick Ellis, kemudian akhirnya diurus oleh British Columbia Institute of Technology. CodeIgniter kini sudah memasuki pengembangannya untuk edisi ke-4 dibawah komando LonieEzell dam timnya. Kini CodeIgniter berbenah diri untuk merilis edisi ke-4 yang akan lebih kompatibel dengan aturan dan sintaks terbaru PHP7.

2. Laravel

Github URL: https://github.com/laravel/laravel
Official Website: https://www.laravel.com

Sebagai salah satu web framework yang sedang berada diatas angin, Taylor Otwell bekerja keras untuk membangun Laravel menjadi semakin mudah dan nyaman untuk digunakan oleh web developer. Laravel memiliki dokumentasi yang sangat bagus dan jelas untuk mempermudah web developer dalam membangun aplikasi web.

Tidak hanya itu, ada juga berbagai modul yang sudah meringkas kesulitan umum seperti Passport, Scout, Queue, File Storage, NotificationBroadcasting dan lainnya. Laravel pun memiliki sejumlah modul gratis yang dibuat komunitas dan ada juga yang berbayar yang dibuat oleh Taylor sendiri. Salah satu fitur unik lainnya adalah Laravel memiliki sebuah ORM yang bernama Eloquent ORM dan Blade template engine.

3. Yii

Github URL: https://github.com/yiisoft/yii2
Official Website: https://www.yiiframework.com

Yii memiliki tagline “The Fast, Secure, and Professional PHP Framework“. Mengapa tidak, Yii2 memiliki dokumentasi bagus dan dukungan komunitas yang kuat. Salah satu fitur intinya adalah sistem widget, filter, RBAC, dan component yang membuat Yii2 menjadi lebih enak untuk membangun aplikasi web.

Yii2 sendiri merupakan versi rewrite dari Yii 1.1 yang masih populer hingga masa kini. Namun untuk tujuan kompatibilitas dengan teknologi terbaru, PSR, dan versi PHP terbaru. Yii2 lahir untuk menggantikan leluhurnya.

4. Symfony

Github URL: https://github.com/symfony/symfony
Official Website: https://www.symfony.com

Disamping memiliki berbagai resource gratis untuk belajar seperti cookbook dan e-book untuk penggunanya. Symfony juga memiliki dokumentasi yang sangat jelas dan lugas. Symfony adalah fullstack web framework yang menyediakan berbagai teknologi untuk mempermudah pembuatan aplikasi web. Contoh studi kasus Symfony adalah Yahoo Answers! dan Dailymotion.

Laravel pun menggunakan beberapa komponen Symfony untuk menjadi pijakannya. Tidak hanya itu, CMS terkenal seperti Magento dan Drupal pun dibangun dengan menggunakan bagian-bagian Symfony. Bila kamu belum terlalu mengenal Symfony, kamu akan mengetahui bahwa Twig template engine dan Doctrine ORM adalah salah satu bagian dari Symfony. Selain itu web framework yang satu ini memiliki debugger yang sangat keren dan enak untuk digunakan. Symfony dikelola langsung oleh Fabien Potencier bersama kontributor lainnya. Setiap tahunnya, Symfony selalu mengadakan acara untuk membahas teknologi terbaru seputar Symfony.

5. Zend Framework

Github URL: https://github.com/zendframework/zendframework
Official Website: https://framework.zend.com

Zend Framework ini cukup unik, karena merupakan web framework yang dirilis oleh tim pengembang inti PHP. Zend Framework sendiri memiliki banyak alat pendukung seperti Zend Studio, ZRay, Apigility, Zend Expressive, dan PHP7 itu sendiri. Selain itu Zend Framework pun memiliki banyak e-book gratis yang siap digunakan.

Zend Framework banyak digunakan oleh kalangan enterprise karena memiliki support langsung dari pengembangnya dibandingkan dengan web framework lain. Selain itu terdapat juga sertifikasi resmi dari Zend Framework bagi kamu yang ingin menjadi profesional Zend Framework

6. CakePHP

Github URL: https://github.com/cakephp/cakephp
Official Website: https://www.cakephp.org

CakePHP memiliki moto “The Rapid Development Framework for PHP“. Hal tersebut tidaklah aneh karena web framework yang satu ini memiliki modul dan fitur yang lengkap untuk membangun aplikasi web besar.

CakePHP sudah kompatibel dengan Composer dan PHPUnit yang membuat pengembangan aplikasi lebih fleksibel dan aman. Beberapa fitur unggulan CakePHP adalah associative data mapping, front controller, dan arsitektur MVC. Selain itu CakePHP sangat leluasa untuk membuat struktur khusus yang kamu inginkan. CakePHP memiliki cookbook gratis dan dokumentasi yang sangat baik sehingga mempermudah kamu bila ingin membuat sebuah aplikasi web dengan CakePHP.

7. FuelPHP

Github URL: https://github.com/fuelphp/fuelphp
Official Website: https://www.fuelphp.com

FuelPHP memiliki ambisi untuk menjadi web framework yang cepat dan ringan. Dengan footprint yang minimalis, pengembang FuelPHP optimis, FuelPHP dapat menjadi populer di masyarakat luas. FuelPHP memiliki kompatibilitas dengan PSR dan Composer. Selain itu memiliki fitur lain seperti fuel debugger, unit testing, dan arsitektur MVC yang lebih lengkap.

Saat ini, FuelPHP dikelola oleh Harro Verton, Frank De Jonge, Steve West, dan Mark Sagi-Kazar. Sebelumnya Phil Sturgeon juga pernah bergabung dalam proyek ini. Ada juga Jelmer Schreuder dan Dan Horrigan yang sudah menjadi alumni dari proyek ini.

8. PhalconPHP

Github URL: https://github.com/phalcon/cphalcon
Official Website: https://www.go-macaron.com

Phalcon PHP menjadi salah satu web framework yang cukup banyak digunakan. Keunikannya terletak pada konsepnya yang menjadikan web framework itu sendiri sebagai ekstensi bahasa C yang dipasang di web server. Dengan memegang konsep tersebut, Phalcon PHP menjanjikan kerja yang lebih cepat dan hemat sumber daya dibandingkan web framework lain. Phalcon sendiri diusung dan digawangi oleh Andres Gutierrez bersama rekan lainnya.

Selain dokumentasi yang lengkap, Phalcon dibangun diatas Zephir namun independen terhadap berbagai sistem operasi. Anda dapat menggunakan Phalcon di lingkungan Microsoft Windows, GNU/Linux, FreeBSD, maupun Macintosh OSX.

9. Slim

Github URL: https://github.com/slimphp/slim
Official Website: https://www.slimframework.com

Slim adalah micro framework PHP yang dapat membantu Anda untuk bekerja dengan cepat membuat aplikasi web dan API yang tangguh. Slim kompatibel dengan PSR dan PHPUnit, selain itu memiliki sintaks rasa Express.js yang diperuntukkan Node.js. Saat ini Slim Framework digawangi oleh beberapa orang diantaranya, Josh Lockhart, Andrew Smith, Rob Allen, Gabriel Manricks, dan kontributor lainnya.

10. Lumen

Github URL: https://github.com/laravel/lumen
Official Website: https://lumen.laravel.com

Dikomando langsung oleh Taylor Otwell, Laravel pun ingin memiliki sebuah micro framework unggul dibandingkan pesaingnya. Laravel memiliki anak yang dinamakan Lumen. Sebuah micro framework dengan sintaks yang indah dan elegan. Dengan berbagai fitur yang ada di Laravel dan tambahan lainnya, Lumen yakin akan menjadi micro framework yang sangat digemari.

Closing

Dari PHP sendiri punya beberapa framework diatas, sebenarnya masih ada banyak lainnya, tapi hanya kita ulas 10 saja. Lalu ada javascript yang punya framework berbeda dan banyak yaitu framework client seperti jquery, angular, react, vue, etc. Lalu framework server seperti node.js, meteor and so on.

Untuk pemula, coba cari framework yang support dari komunitasnya banyak, karena kalo ada masalah atau error banyak kemungkinan yang bisa bantu. Jangan lupa kalo framework tersebut sudah tidak dikembangkan lagi ya jangan digunakan, cari yang kira-kira perkembangannya bagus juga untuk kedepannya.

Jika sudah menemukan cobalah buat crud sederhana, kalo sudah buat crud coba framework lain dan buat crud juga, pasti terasa perbedaannya dan bisa dipilih mana yang paling cocok. Cepet kok belajar framework, ada dokumentasinya. Jadi, jangan takut gak bisa atau takut mentok. Semua framework tentu saja mempunyai kelebihan dan kekurangan.

Dari yang mudah sampai kompleks semua ada. Tergantung kebutuhan, misalnya mau pakai yang mudah, bisa coba CodeIgniter (CI). Mau yang cepat? Coba phalcon dan masih banyak lagi. Banyak benchmark bertebaran di internet silahkan riset sendiri, jangan lupa gabung grup untuk diskusi. Ikuti komunitasnya supaya tahu perkembangan terbaru, jangan takut bertanya biar tidak tersesat di jalan.

Oke cukup sekian yang dapat kami bagikan. Semoga bermanfaat 🙂

6 COMMENTS

TINGGALKAN KOMENTAR

Please enter your comment!
Please enter your name here