Tutorial Phalcon Lengkap untuk Pemula

Tutorial Phalcon Lengkap untuk Pemula

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.

Apa Itu Phalcon?

Phalcon adalah 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 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:

benchmark-memori-phalcon-per-request

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.

benchmark-file-phalcon-per-request

Semakin sedikit file per request berarti prosesnya lebih cepat dan Phalcon membuktikan kecepatannya dalam hal ini.

benchmark-waktu-penyelesaian-phalcon-1000-request

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 CodeIgniter sudah 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:

shared-hosting-hostinger-framework-phalcon

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:

vps-hostinger-framework-phalcon

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.
    • ViewsViews pada arsitektur MVC berperan dalam menampilkan data pada pengguna. Semua informasi terkait view, misalnnya halaman konten, akan disimpan dalam folder ini.
  • CacheCaching 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:

infografis-struktur-direktori-framework-phalcon

Mengonfigurasikan Koneksi Database MySQL

Sebelum melakukan konfigurasi, Anda harus terlebih dulu membuat database MySQL untuk menyimpan semua data pengguna. Buka bagian Pengelolaan di control panel untuk mulai membuat database.

Pilihan pengelolaan database di hPanel

Setelah itu, buat tabel. Akses database yang telah dibuat melalui phpMyadmin dan buka bagian SQL.

membuat-tabel-database-phalcon

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.

tabel-pengguna-untuk-phalcon

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.phpBuka 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.phtmlBerikut 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.

memindahkan-phalcon-ke-html-public

Akses domain Anda via browser dan beranda seperti ini yang akan muncul:

contoh-beranda-utama-framework-phalcon

Jika Anda mengklik tombol Sign Up Heremaka Anda akan terarah ke halaman sign-up yang telah kita buat:

contoh-halaman-daftar-framework-phalcon

Ketika seorang pengguna memasukkan informasinya, maka layar konfirmasi seperti ini akan muncul:

halaman-daftar-framework-phalcon-berhasil

Apabila pengguna tersebut memasukkan data atau informasi yang salah, maka framework akan menampilkan bagian yang salah:

error-sign-up-framework-phalcon-1

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:

error-sign-up-framework-phalcon-2

Semua entri yang benar akan muncul di tabel user dari database Anda:

entry-database-baru-phalcon

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.

Punya tips, trik, atau ide yang ingin Anda bagikan? Silakan tinggalkan komentar Anda pada kolom di bawah ini!

Author
Penulis

Ariata C.

Ariata suka sekali menulis dan menerjemahkan, dan sekarang ini bekerja sebagai translator di Hostinger Indonesia. Lewat artikel dan tutorial yang diterbitkan di blog Hostinger, Ariata ingin membagikan pengetahuan tentang website, WordPress, dan hal terkait hosting lainnya kepada para pembaca.