Phalcon, Framework PHP terbaik ?
Phalcon adalah sebuah framework yang bersifat open source yang sedan populer diantara para pengembang. Framework ini mengkombinasikan antara bahasa pemrograman PHP dan C.
Phalcon ini dirilis pada tahun 2012 oleh Andres Gutierrez beserta timnya. Framework ini pada dasarnya sama dengan framework PHP lainnya yang menggunakan pola MVC (Model, View, Controller) dan framework pertama yang mengimplementasikan ORM (Object Relational Mapping) pada bahasa pemrograman C.
ORM bertugas untuk mengkonversi data dari lingkungan bahasa pemrograman berorientasi objek (OOP) dengan lingkungan database relasional dan sebagai pengubung sehingga kita dimudahkan dalam membuat aplikasi yang menggunakan database relasional agar menjadikan tugas lebih efisien.
Ada satu folder root yang diaggap sebagai basis kede dan tersedia secara umum untuk web server. Hal ini juga disebut sebagai direktori web. Folder lain yang ada di luar direktori akar web dianggap berada di luar jangkauan utnuk web server dan untuk proyek Phalcon. Phalcon menawarkan kelas berorientasi objek, yang diperlukan untuk mengimplementasikan arsitektur Model, View, Controller dalam aplikasi. Pola desain ini banya digunakan oleh kerangka kerja web dan aplikasi desktop lainnya.
Manfaat dari kegunaan MVC :
- Isolasi logika bisnis dari antarmuka pengguna dan lapisan basis data.
- Memperjelas timpat berbagai jenis kode untuk pemeliharaan yang lebih mudah.
Jika kamu memutuskan untuk menggunakan MVC, setiap permintaan ke sumber daya aplikasi akan dikelola oleh MVC. Kelas Phalcon ditulis dalam bahasa C, menawarkan pendekatan kinerja tinggi dari pola ini dalam aplikasi berbasis PHP.
Kenapa harus Phalcon?
Andres Gutierrez dan timnya awalnya menciptakan Phalcon menggunakan cara pendekatan berbeda yang tradisional dalam mendekati aplikasi web framework PHP, yaitu :
Mudah dipelajari, merupakan pilihan yang baik bagi developer yang berpengalaman maupu pemula. Kaya fitur untuk mendevelop berbagai aplikasi web secara luas. Sudah lumayan populer di kalangan developer. Phalcon juga mulai mendapatkan popularitasnya sejak pertama rilisnya di tahun 2012.
Bagaimana membuat aplikasi menggunakan Phalcon?
Pertama-tama, buatlah aplikasi dasar. Anggap saja sedang membuat sebuah projek dan ingin menyusun daftar yang memuat pengguna. Kita bisa membuat form registrasi yang menyimpan informasi ke dalam database.
Struktur direktori Phalcon
Framework ini bersifat loosely copuled yang berarti kita bisa membuat direktori dimanapun. Direktori utama dari aplikasi tersebut disebut sebagai folder root. Folder mana pun yang terletak di luar direktori root tersebut tak dapat diakses oleh server web dan tidak termasuk dalam lingkup proyek Phalcon.
Setelah proyek selesai dibuat, folder berikut akan muncul di dalam sistem file :
- App: Folder app memuat inti dari semua aplikasi. Seluruh script folder dan file berada dalam folder tersebut. Secara spesifik, folder app terdiri atas :
- Config : semua konfigurasi yang diperlukan akan dialihkan ke dalam subfolder. Kita bisa menambahkan library yang baru atau membuat koneksi database dengan cara menempatkan kode yang relevan pada file di dalam folder ini.
- Controllers: Controllers memproses permintaan dan memformulasikan respons yang sesuai.
- Library : Semua library yang bersifat eksternal harus dimasukkan ke dalam 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 : Views pada arsitektur MVC berperan sebagai penampil data pengguna. Semua informasi terkait view, misalnya halaman konten, akan disimpan dalam folder ini.
- Cache : Caching berperan penting dalam mempertahankan performa benchmark, dan apapun yang terkait disimpan dalam folder ini.
- Public : Folder ini memuat folder untuk CSS, JavaScript, metadata, gambar yang hendak di-upload, fike yang harus diupload, dan beberapa data sementara yang terkait dengan aplikasi.
Menkofigurasikan Koneksi Database MySQL
Sebelum melakukan konfigurasi, kita harus terlebuh dulu memuat database mySQL untuk menyimpan semua data pengguna. Buat sebuah database melalui phpMyAdmin.
Selanjutnya, buka contoh_project/app/config/config.ini dan konfigurasikan koneksi database. Edit field berikut ini :
Menambahkan Model Baru
Di langkah ini kita perlu membuat model baru. Model ini akan memetakan tabel nyoba yang telah dibuat sebelumnya. Cara paling mudah untuk membuat model ini adalah dengan menggunakan tool dev Phalcon. Buka direktori root Phalcon dengan menggunakan terminal. Contoh :
cd contoh_project
Berikut command yang akan digunakan untuk membuat model yang dibutuhkan :
phalcon model nyoba
File baru dapat dilihat di contoh_project/app/models/nyoba.php.
Menambah Controller Baru
Controller halaman utama sudah selesai dibuat, jadi selanjutnya hanya perlu menambahkan halaman baru yang akan berfungsi sebagai halaman registrasi. Untuk melakukannya, kita bisa memanfaatkan tool developer Phalcon. Gunakan command ini untuk membuat controller baru :
phalcon controller register
Controller baru akan tersimpan di contoh_project/app/controllers/RegisterController.php. Buka file tersebut dan tambahkan beberapa line yang dapat bekerja sama dengan database. Tampilannya akan seperti ini :
<? php
class RegisterController extends \Phalcon\Mvc\Controller {
public function indexAction()
{
}
public function registerAction()
{
if ($this->request->isPost()) {
$nama = $this->request->getPost(“nama”);
$datadiri = new \contoh_project\Models\Nyoba();
$datadiri->nama = $nama;
$datadiri->save();
}
}
Membuat Konten Halaman
Teks dan konten halaman Anda dapat dilihat di contoh_project/app/views. Setiap halaman memiliki direktori dedicated-nya masing-masing. Kita akan lihat jika folder indeks sudah dibuat. Oleh karena itu, kita hanya perlu membuat folder register.phtml. Dengan format .phtml, kita bisa menggunakan baik kode HTML maupun kode PHP.
Edit contoh_project/app/views/register.phtml. Pastinya kita ingin pengguna mendaftar melalui halaman ini. Berikut kode yang ditambahkan :
<?php echo $this->tag->form (“datadiri\save”): ?>
<p>
<label for=”nama”> Nama </label>
<br/>
<?php echo $this->tag->textField(“nama”) ?>
</p>
<?php $this->tag->endForm() ?>