sumber : https://www.hostinger.co.id/tutorial/tutorial-phalcon/
Di tutorial ini, kami akan memperkenalkan framework Phalcon dan juga memberitahukan cara membuat proyek pertama Anda. Semua paket web hosting kami memiliki ekstensi Phalcon secara standar sehingga Anda bisa memanfaatkan framework canggih ini. Di akhir tutorial phalcon ini, Anda diharapkan sudah mampu membuat formulir registrasi yang dapat berfungsi dengan baik untuk menyimpan informasi yang terkumpul ke dalam database MySQL.
Pengenalan
Phalcon merupakan framework PHP dengan performa tinggi yang berbasis pada arsitektur model-view-controller (MVC). Sejak pertama kali dirilis pada tahun 2012, framework ini selalu bersifat open-source. Inti dari Phalcon telah ditulis ke dalam bahasa pemrograman C dan Zephir. Phalcon juga dikenal sebagai framework pertama yang menerapkan object-relational mapping (ORM) pada C.
Phalcon dapat dimodifikasi karena adanya Zephir, bahasa pemrograman tingkat tinggi. Namun, jangan jadikan ini momok yang mengerikan karena Phalcon dapat digunakan untuk mengembangkan aplikasi PHP tanpa harus menguasai bahasa C. Terlebih dulu kami akan membandingkan Phalcon dengan framework PHP populer lainnya.
Phalcon – P untuk Performa
Tujuan di balik pengembangan Phalcon adalah membuat ekstensi ke server web yang meningkatkan kecepatan eksekusi, mengurangi pemanfaatan resource, dan memastikan pemrosesan request yang lebih tinggi dibandingkan dengan framework PHP yang lain. Keunggulan kompetitif terbesar Phalcon adalah pemanfaatan memori yang efisien. Hal ini mengurangi kebutuhan akan penyimpanan informasi apa pun dari memori meskipun sebagian besar framework PHP lainnya menggunakan file read dan file stat yang operasinya terbilang mahal. Dengan demikian, Phalcon mengoptimasi performa dan meningkatkan efisiensi.
Hasil benchmarking:
Karena Phalcon tidak membutuhkan file inti apa pun, penggunaan memori per request jauh lebih rendah jika dibandingkan dengan framework PHP lainnya.
Kita juga bisa lihat bahwa Phalcon dapat menyelesaikan lebih dari 1400 request per detik, sedangkan framework lainnya tampak kesulitan melakukannya.
Semakin sedikit file per request berarti prosesnya lebih cepat dan Phalcon membuktikan kecepatannya dalam hal ini.
Framework Phalcon juga dapat menyelesaikan 1000 request dengan sangat cepat. Sementara itu, framework lainnya membutuhkan waktu cukup lama untuk mmperoleh hasil yang sama.
Phalcon vs. Laravel
Meskipun dianggap sebagai pilihan teratas untuk framework PHP, Laravel tidak dapat disandingkan dengan Phalcon soal kecepatan, skalabilitas, dan performa. Hanya saja, Laravel lebih mudah dipelajari dan memiliki bantuan debugging yang lebih baik. Sebaliknya, jika ingin melakukan debug kode di Phalcon, Anda harus mengetahui bahasa C. Selain itu, Laravel dapat diinstall di server mana pun, sedangkan instalasi Phalcon membutuhkan akses root ke server.
Phalcon vs. CodeIgniter
Seandainya tidak ada framework PHP lainnya, maka CodeIgniter bisa dipilih. Meskipun CodeIgnitersudah banyak digunakan, pengembangannya agak lambat dalam beberapa tahun ini. Baik Phalcon maupun CodeIgniter sama-sama memiliki fitur yang dapat dibandingkan, dokumentasi yang menyeluruh, dan komunitas pengembangan yang luas. Namun, Phalcon jauh lebih cepat. Sayangnya, CodeIgniter bisa mengejar ketinggalannya dari Phalcon dengan optimasi hardware yang tepat.
Phalcon vs. Symfony
Symfony dan Phalcon adalah proyek open-source dengan banyak bahasa dan dukungan ORM. Kedua proyek ini adalah ekstensi arsitektur MVC serta masing-masing memiliki CLI dan dokumentasi yang rinci. Jika Anda berencana untuk membuat REST API, maka Symfony dan Phalcon adalah pilihan yang tepat. Namun, sekali lagi, jika berbincang soal performa benchmarking, Phalcon adalah juaranya. Phalcon dapat memproses rata-rata 50 persen lebih request per detik apabila dibandingkan dengan Symfony. Akan tetapi, platform level debugging terasa lebih sulit di Phalcon karena Anda harus mengelola kode yang tertulis di dalam C. Karena itulah, debugging pada Symfony relatif lebih mudah.
Set Up Framework PHP Phalcon
Dengan Phalcon, Anda hanya perlu menginstall ekstensi PHP yang tidak memakan begitu banyak ruang atau space. Namun, Anda membutuhkan akses root untuk melakukannya. Beruntung, Phalcon telah terinstall di paket shared hosting kami sehingga setup awal dapat menjadi sangat mudah. Pun di tutorial Phalcon ini, kami akan memberitahukan cara setup di VPS yang dijalankan pada Ubuntu 16.04. Agar lebih mudah, kami menggunakan tool developer Phalcon untuk kedua metode tersebut.
Opsi 1 – Set up Phalcon di shared hosting Hostinger
Pertama-tama, install Phalcon devtools. Untuk melakukan penginstallan tersebut, kami menggunakan Composer, yang telah terinstall di paket shared hosting. Setelah itu, buat koneksi ke akun hosting Anda via SSH. Gunakan command pwd untuk mengecek lokasi Anda saat ini. Kami sarankan agar Anda membuat satu direktori di atas public_html. Apabila command menunjukkan hasil berikut ini, maka Anda sudah berada di jalan yang benar:
-bash-4.1$ pwd /home/YOUR_USERNAME
Sekarang buat file composer.json dengan memuat konten berikut ini:
{ "require-dev": { "phalcon/devtools": "~3.2" } }
Anda dapat melakukannya dengan menggunakan File Manager atau menulis command berikut ini di SSH:
nano composer.json
Dengan ini, file Anda akan dibuat dan text editor akan terbuka. Tempelkan (paste) konten yang diperlukan dan tekan CTRL+X untuk menyimpan. Untuk menginstall tool developer Phalcon, jalankan command di bawah ini:
composer install
Prosesnya sendiri akan berlangsung beberapa menit. Kemudian buat alias agar tool developer dapat sepenuhnya berfungsi. Jika Anda mengikuti langkahnya dengan benar, maka Anda dapat membuat alias menggunakan syntax berikut ini:
alias phalcon=/home/YOUR_USERNAME/vendor/phalcon/devtools/phalcon.php
Ganti YOUR_USERNAME dengan username Anda sesungguhnya
Sekarang kita sudah punya tool developer Phalcon yang dapat berfungsi dengan baik. Untuk mengecek apakah tool tersebut benar-benar dapat digunakan, tulis command berikut ini:
phalcon
Output-nya akan seperti ini:
Phalcon DevTools (3.2.12) Available commands: info (alias of: i) commands (alias of: list, enumerate) controller (alias of: create-controller) module (alias of: create-module) model (alias of: create-model) project (alias of: create-project) scaffold (alias of: create-scaffold) migration (alias of: create-migration) webtools (alias of: create-webtools) serve (alias of: server) console (alias of: shell, psysh)
Karena server shared hosting kami sudah memiliki semua hal yang diperlukan framework Phalcon untuk bekerja, maka Anda tidak perlu lagi menginstall ekstensi tambahan. Framework Phalcon bersifat loosely coupled, yang berarti Anda bisa memiliki struktur direktori apa pun yang diinginkan. Namun, agar tidak begitu rumit, kami akan menggunakan struktur yang telah disediakan oleh tool developer Phalcon. Buka direktori public_html menggunakan command di bawah ini:
cd public_html
Setelah itu, gunakan syntax tool developer Phalcon untuk set up semuanya:
phalcon create-project example
Apabila Anda sedang membuka YourDomain.com/example di browser, maka layarnya akan terlihat seperti ini:
Opsi 2 – Set up Phalcon di VPS
Di opsi ini kita akan mencari tahu cara setup framework PHP Phalcon di virtual private server. Proses ini membutuhkan waktu yang cukup lama karena kita pun harus menginstall lebih banyak komponen. Namun jangan khawatir, kami akan membantu Anda. Kali ini kita akan menggunakan VPS yang dijalankan di Ubuntu 16.04.
Pertama-tama, komponen yang kita butuhkan adalah:
- Apache
- MySQL
- PHP 5.5+
- Composer
Apache, MySQL, dan PHP secara standar terdapat dalam sebagian besar template VPS. Oleh karena itu, Anda hanya perlu menginstall Composer untuk melakukan langkah selanjutnya. Kemudian set up ekstensi PHP Phalcon yang dibutuhkan. Jalankan command berikut ini:
curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.deb.sh | sudo bash
Setelah semua komponen dimiliki, sekarang saatnya setup framework Phalcon. Namun, sebelumnya, aktifkan tool developer Phalcon terlebih dulu yang akan menyederhanakan proses penggunaan framework. Mulailah dengan membuka satu direktori di atas root domain. Misalnya:
cd /var/www
Gunakan command ini untuk membuat file composer.json:
nano composer.son
Command ini akan membuat file dan membukanya di dalam antarmuka text editor. Tempel/paste konten berikut ini:
{
"require-dev": {
"phalcon/devtools":
"~3.2"
}
}
Tekan CTRL+X untuk menyimpan. Masukkan command ini untuk lanjut ke proses penginstallan tool developer:
composer install
Buat alias untuk memastikan tool developer Phalcon dapat digunakan. Pada contoh yang kami berikan, syntax akan terlihat seperti ini:
alias phalcon=/var/www/vendor/phalcon/devtools/phacon.php
Cek apakah tool tersebut sudah berfungsi dengan menjalankan command ini:
phalcon
Output-nya akan seperti ini:
Phalcon DevTools (3.2.12) Available commands: info (alias of: i) commands (alias of: list, enumerate) controller (alias of: create-controller) module (alias of: create-module) model (alias of: create-model) all-models (alias of: create-all-models) project (alias of: create-project) scaffold (alias of: create-scaffold) migration (alias of: create-migration) webtools (alias of: create-webtools) serve (alias of: server) console (alias of: shell, psysh)
Sekarang kita sudah siap membuat proyek. Framework Phalcon bersifat loosely coupled sehingga Anda bisa memiliki struktur direktori mana saja. Sebagai contoh, kami akan menggunakan struktur direktori standar yang disediakan oleh tool developer. Pertama-tama, lihat direktori root domain Anda. Di contoh yang kami gunakan akan terlihat seperti ini:
cd /var/www/hostinger-tutorials.com/public_html
Gunakan command ini untuk membuat struktur direktori:
phalcon create-project example
Buka domain Anda di browser (misalnya, YourDomain.com/example) dan tampilan seperti ini yang akan Anda lihat:
Membuat proyek pertama Anda dengan Framework Phalcon
Pertama-tama, buat aplikasi dasar. Anggap saja Anda sedang membuat sebuah proyek dan ingin menyusun daftar yang memuat pengguna atau klien berpotensi sebelum memulai peluncuran. Kita bisa melakukannya dengan membuat form registrasi yang menyimpan informasi ke dalam database MySQL.
Memahami struktur direktori Phalcon
Seperti yang telah dibahas sebelumnya, framework ini bersifat loosely coupled. Hal ini berarti Anda dapat membuat struktur direktori mana pun. Hanya saja, dalam contoh ini, kami akan menggunakan struktur standar yang telah dibuat menggunakan tool developer Phalcon.
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. Kami menamakan ini sebagai contoh direktori.
Setelah proyek selesai dibuat, folder berikut ini 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: Sesuai dengan namanya, semua konfigurasi yang diperlukan akan dialihkan ke dalam subfolder. Anda bisa menambahkan library pihak ketiga yang baru atau membuat koneksi database dengan cara menempatkan kode yang relevan pada file di dalam folder ini.
- Controllers: Controllers memproses permintaan (request) dan memformulasikan respons yang sesuai. Controller apa pun yang ingin Anda tetapkan akan menjadi bagian dari folder ini.
- Library: Semua library pihak ketiga yang eksternal yang ingin Anda sertakan harus dimasukkan ke dalam folder ini.
- Migrations: Jika Anda ingin melakukan migrasi data, maka yang harus dilakukan adalah menambahkan atau mengedit file di dalam folder ini.
- Models: Folder ini memuat apa pun yang terkait dengan data Anda, termasuk interaksi dengan database untuk menerima dan menampilkan data.
- Views: Views pada arsitektur MVC berperan dalam menampilkan data pada pengguna. Semua informasi terkait view, misalnnya halaman konten, akan disimpan dalam folder ini.
- Cache: Caching berperan penting dalam mempertahankan performa benchmark, dan apa pun yang terkait disimpan dalam folder ini.
- Public: Folder ini memuat folder untuk CSS, JavaScript, metadata, gambar yang hendak di-upload, file yang harus di-upload, dan beberapa data sementara yang terkait dengan aplikasi.
Berikut kami lampirkan infografis untuk membantu Anda mengingat struktur direktori standar dari framework Phalcon:
Mengonfigurasikan Koneksi Database MySQL
Sebelum melakukan konfigurasi, Anda harus terlebih dulu membuat database MySQL untuk menyimpan semua data pengguna. Buka bagian MySQL Databases di control panel untuk mulai membuat database.
Setelah itu, buat tabel. Akses database yang telah dibuat melalui phpMyadmin dan buka bagian SQL.
Kemudian, jalankan query berikut ini:
CREATE TABLE 'users' ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(70) NOT NULL, `email` varchar (70) NOT NULL, PRIMARY KEY (`id`) );
Query di atas berfungsi untuk membuat struktur tabel yang dibutuhkan.
Selanjutnya, buka /public_html/example/app/config/config.php dan konfigurasikan koneksi database. Edit field berikut ini:
'database' => [ 'host' => 'Your_MySQL_Hostname', 'username' => 'Your MySQL_User', 'password' => 'Your_MySQL_Password', 'dbname' => 'Your_MySQL_Database',
Anda bisa lanjut ke langkah berikutnya jika sudah selesai mengisi informasi MySQL.
Menambahkan Model Baru
Di langkah ini kita perlu membuat model baru. Model tersebut akan memetakan tabel users yang telah Anda buat di langkah sebelumnya. Cara termudah untuk membuat model ini adalah dengan menggunakan tool dev Phalcon. Buka direktori root Phalcon Anda dengan menggunakan terminal. Berikut contoh yang kami sediakan:
cd public_html/example
Berikut command yang akan digunakan untuk membuat model yang dibutuhkan:
phalcon model users
File baru dapat dilihat di public_html/example/app/model/Users.php.
Menambahkan Controller Baru
Pada demonstrasi kali ini, kami akan membuat halaman home dan signup. Controller halaman atau beranda utama sudah selesai dibuat, jadi selanjutnya kita hanya perlu menambahkan halaman baru yang akan berfungsi sebagai laman registrasi. Untuk melakukannya, kita juga bisa memanfaatkan tool developer Phalcon. Gunakan command ini untuk membuat controller baru:
phalcon controller Signup
Controller baru akan tersimpan di public_html/example/app/controllers/SignupController.php. Buka file tersebut dan tambahkan beberapa line yang dapat bekerja sama dengan database. Tampilannya akan seperti ini:
<?php class SignupController extends \Phalcon\Mvc\Controller { public function indexAction() { } public function registerAction() { $user = new Users(); // Store and check for errors $success = $user->save( $this->request->getPost() [ "name", "email", ] ); if ($success) { echo "Thanks you for signing up!"; } else { echo "Oops, seems like the following issues were encountered: "; $messsages = $user->getMessages(); foreach ($messages as $message) { echo $message->getMessage(), "<br/>"; } } $this->View->disable(); } }
Membuat Konten Halaman
Teks dan konten halaman Anda dapat dilihat di public_html/example/app/views. Setiap halaman memiliki direktori dedicated-nya masing-masing. Anda akan lihat jika folder indeks sudah dibuat. Oleh karena itu, kita hanya perlu membuat folder signup dengan file index.phtml kosong. Dengan format .phtml, Anda bisa menggunakan baik kode HTML maupun kode PHP.
Edit file indeks yang sudah ada terlebih dulu di public_html/example/app/views/index/index.phtml. Berikut contoh yang telah kami lakukan:
<div class="page-header"> <h1>Welcome to Project Phalcon</h1> </div> <p>Want to be the first to get the latest updates?</p? <?php echo $this->tag->linkTo ( "signup", "Sign Up Here!" );
Kode PHP yang ada di dalam file akan mengarahkan pengguna ke halaman signup.
Edit public_html/example/app/views/signup/index.phtml. Pastinya Anda ingin pengguna untuk mendaftar melalui halaman ini. Berikut kode yang kami tambahkan:
<h2>Sign up using this form</h2> <?php echo $this->tag->form ("signup/register"); ?> <p> <label for="name">Name</label> <?php echo $this->tag->textField("name"); ?> </p> <p> <label for="email">E-Mail</label> <?php echo $this->tag->textField("email); ?> </p> <p> <?php echo $this->tag->submitButton("Register"); ?> </p> </form>
Selesai! Kini Anda sudah bisa melihat hasil framework PHP Phalcon.
Mengetes Aplikasi Phalcon
Aplikasi Phalcon tersimpan di direktori public_html/example. Direktori tersebut akan terbuka melalui YourDomain.com/example Anda pada browser. Agar load secara langsung via YourDomain.com, maka Anda harus memindahkan file ke public_html menggunakan File Manager.
Akses domain Anda via browser dan beranda seperti ini yang akan muncul:
Jika Anda mengklik tombol Sign Up Here, maka Anda akan terarah ke halaman sign-up yang telah kita buat:
Ketika seorang pengguna memasukkan informasinya, maka layar konfirmasi seperti ini akan muncul:
Apabila pengguna tersebut memasukkan data atau informasi yang salah, maka framework akan menampilkan bagian yang salah:
Bahkan framework pun bisa mengetahui jika seorang pengguna memasukkan format alamat email yang salah. Pengguna tersebut akan melihat konfirmasi ini jika ia salah mengetik atau lupa menyertakan simbol:
Semua entri yang benar akan muncul di tabel user dari database Anda:
Selamat! Sampai sini, Anda pasti sudah mahir membuat formulir sign up dasar pertama.
Kesimpulan
Phalcon adalah framework PHP yang baru. Meskipun tidak sepopuler Laravel atau framework lainnya, Phalcon memiliki potensi dan kecepatan yang patut diperhitungkan. Phalcon juga tidak membutuhkan usaha yang terlalu banyak untuk set up. Jika Anda ingin membuat dan mengembangkan website, Phalcon adalah pilihan yang tepat. Siapa tahu Phalcon bisa menjadi framework pilihan Anda! Pastikan untuk mengecek dokumentasi resmi jika Anda ingin mengetahui lebih banyak.
Komentar Terbaru