Pengertian Framework Phalcon PHP – apa kabar sobat caraguna? ketika kita ingin membangun sebuah rumah, kita perlu membuat kerangka atau sketch terlebih dahulu, agar rumah kita menjadi lebih sempurna dan sesuai dengan bentuk dekorasi yang kita inginkan.
Kerangka rumah tersebut memiliki fungsi yang sama dengan framework yang akan kita bahas kali ini. Jika sebelumnya kita sempat membahas framework laravel maupun codeigniter, maka kali ini kita juga masih berkutat pada bahasa pemrograman PHP yaitu framework Phalcon.
Jika kamu masih belum tau apa pengertian dari framework, kamu bisa membaca dulu artikel sebelumnya mengenai Apa itu Framework.
Apa itu Framework Phalcon?
Framework Phalcon adalah kerangka kerja open-source bahasa pemrograman PHP yang memiliki performa tinggi berbasis MVC (model view controller). Framework Phalcon mengkombinasikan antara bahasa pemrograman PHP dengan C.
Phalcon pertama kali dirilis pada tahun 2012 lalu oleh Andreas Gutierrez beserta timnya dan berada dibawah lisensi BSD. Pada dasarnya, Phalcon mirip dengan framework PHP lainnya, namun Phalcon merupakan framework pertama yang mengimplementasikan ORM (Object Relational Mapping) pada bahasa pemrograman C.
Kombinasi antara bahasa C dan PHP membuat framework ini menjadi lebih ringan, efisien, cepat, dan memiliki tingkat keamanan yang baik. PHP Phalcon banyak digunakan untuk mengembangkan web apps (perpaduan aplikasi dan website). Kamu dapat menjalankan aplikasi dari browser tanpa perlu instalasi (seperti halnya menjalankan website).
Kelebihan dan kekurangan framework Phalcon
Sama halnya dengan framework lain, PHP Phalcon juga memiliki kelebihan dan kelemahan yang dapat kamu rasakan ketika mengimplementasikan framework ini.
Kelebihan framework Phalcon PHP
- Mudah digunakan karena memiliki arsitektur MVC didalamnya
- Mempunyai performa yang super cepat meski dijalankan diserver biasa
- Tidak banyak menghabiskan resources
- Bekerja dengan daya performa yang tinggi berkat fitur-fitur dan sistem PHP
- Mempunyai dokumentasi yang lengkap dan baik
- Dapat lebih mudah berinteraksi dengan database memakai C-language ORM
- Ringan, ringkas dan efisien dalam bekerja membangun website
Kekurangan framework Phalcon PHP
- Debugging yang lebih sering terjadi pada sisi bahasa C ketimbang PHP, hal ini akan menyulitkan bagi developer yang kurang paham tentang bahasa C
- Masih sedikit jasa hosting yang mensupport Phalcon. Kebanyakan hosting mendukung framework lain seperti Yii dan Laravel
- Masih sedikit komunitas dan tutorial Phalcon, khususnya untuk menyelesaikan masalah-masalah dan error yang terjadi di framework
Struktur direktori Phalcon
Framework Phalcon PHP bersifat loosely copuled yaitu kamu dapat membuat direktori dimanapun. Direktori utama dari aplikasi tersebut disebut sebagai folder root. Folder manapun yang terletak diluar direktori root tersebut tidak dapat diakses oleh server web dan tidak termasuk dalam lingkup projek Phalcon.
Berikut struktur projek Phalcon yang telah dibuat
1. App
Memuat inti dari semua aplikasi. Seluruh script folder dan file berada didalam folder tersebut. Secara spesifik, folder app terdiri atas:
- Config : semua konmfigurasi yang diperlukan akan dialihkan kedalam subfolder. Kamu bisa menambahkan library yang baru atau membuat koneksi database dengan menempatkan kode yang relevan pada file didalam folder ini.
- Controllers : controllers memproses permintaan dan memformulasikan respons yang sesuai.
- Library : semua library yang bersifat eksternal harus dimasukkan kedalam folder ini.
- Migrations : jika ingin melakukan migrasi data, maka harus dilakukan adalah menambahkan atau mengedit file di dalam folder ini.
- Models : folder ini memuat segala hal yang terkait dengan data, termasuk interaksi dengan database untuk menerima dan menampilkan data.
- Views : pada arsitektur MVC berperan sebagai penampil data pengguna. Semua informasi terkait view, misalnya halaman konten atau interface, akan disimpan didalam folder ini.
2. Cache
caching berperan penting dalam mempertahankan performa benchmark, dan apapun yang terkait disimpan dalam folder ini.
3. Public
Folder ini memuat file untuk CSS, Javascript, metadata, assets, gambar, dan beberapa file sementara yang terkait dengan aplikasi yang dapat diakses secara publik atau umum.