Konsep MVC Phalcon framework , Menampilkan view pada phalcon framework

Baiklah setelah sebelumnya membahas mengenai pembuatan project menggunakan framework phalcon. Sekarang saya akan membahas mengenai konsep MVC Phalcon framework agar anda cukup memahami mengenai cara menampilkan data ke view menggunakan phalcon framework.

Phalcon framework berkonsep MVC(Model View Control) dan mendukung metode ORM(Object Relational Mapping) Apabila anda belum memahami mengenai MVC ada baiknya anda membaca dulu mengenai konsep MVC.


Apabila kita ingin menampilkan data  tentu kita harus membuat file pada view lalu phalcon akan membaca file view tersebut yang dipanggil oleh controller. Phalcon framework memiliki dua tipe data file untuk membuat view yaitu "*.volt" dimana .volt adalah view yang didukung oleh framework phalcon dan "*.phtml"(*Cat : *.phtml sama saja dengan .php isi dari syntaxnya).

Oke jika kita lihat pada folder htdocs/phalcon_project (jika anda belum ada folder phalcon_project ada baiknya anda baca terlebih dahulu mengenai pembuatan project dengan phalcon framework)  berikut merupakan strukturnya :

Kita bisa lihat disana ada folder “app” dan “public” dimana folder app adalah folder yang akan kita gunakan untuk membuat controller , model , view , library , mengatur konfigurasi dll, sedagkan folder public adalah folder untuk menyimpan file berupa css, js , image atau file lainya.

Oke untuk konfigurasi langsung saja kita buka file config.php pada app/config , isinya adalah :

<?php

return new \Phalcon\Config(array(
    'database' => array(
        'adapter'     => 'Mysql',
        'host'        => 'localhost',
        'username'    => 'root',
        'password'    => '',
        'dbname'      => 'test',
    ),
    'application' => array(
        'controllersDir' => __DIR__ . '/../../app/controllers/',
        'modelsDir'      => __DIR__ . '/../../app/models/',
        'viewsDir'       => __DIR__ . '/../../app/views/',
        'pluginsDir'     => __DIR__ . '/../../app/plugins/',
        'libraryDir'     => __DIR__ . '/../../app/library/',
        'cacheDir'       => __DIR__ . '/../../app/cache/',
        'baseUri'        => '/phalcon_project/',
    )
));




jika anda sudah familiar dengan framework lain seperti Codeigniter , YII , dll. Mungkin kita lihat ini hampir sama dalam proses konfigurasi database atau baseUri . Konfigurasi Database menunjukan konfigurasi database yang nanti akan kita gunakan ,sedangkan konfigurasi application adalah konfigurasi dari path(lokasi) dimana kita akan gunakan. Untuk saat ini kita jangan rubah apapun dalam config.php ini kita ikutin apa adanya.

Jika kita buka pada browser "localhost/phalcon_project" (tanpa tanda kutip) akan muncul :



Apa yang pertama dibaca ? oke kita lihat pada folder controllers (app/controllers). Disana ada dua file yaitu :
1. ControllerBase.php
2. IndexController

Lalu apa yang pertama dibaca ?

Jawabanya adalah : IndexController , coba anda buka file tersebut maka scriptnya adalah :

<?php
class IndexController extends ControllerBase
{

    public function indexAction()
    {

    }

}


Pasti anda bingung , kenapa scriptnya hanya seperti itu , tidak memanggil view namun saat dijalankan ada view nya . Jika kita lihat IndexController memiliki method bernama indexAction dengan kata lain method yg pertama kali dibaca adalah "indexAction" dan sebagai catatan setiap method yg dibuat harus diakhiri dengan "Action"(tanpa kutip) contoh jika kita ingin membuat method baru dengan nama "baca" maka methodnya adalah "bacaAction"(tanpa kutip).  

Oke lalu dimana view tersebut ? view tersebut ada di folder views(app/views) kita lihat disana ada dua folder, yaitu index dan layouts. Sebagai catatan jika kita membuat sebuah nama controller maka kita harus membuat sebuah view dengan nama folder yang sama dengan nama controller dengan kata lain jika ada controller bernama "IndexController"(tanpa kutip) maka jika kita ingin menampilkan data maka harus ada folder dalam views bernama index. Kita lihat bahwa dalam views tersebut ada folder index maka folder tersebut milik controllers IndexController. 

Buka folder index maka kita melihat ada satu file berama : index.volt

mengapa demikian ?? Jika kita perhatikan didalam controllers IndexController kita melihat ada method bernama IndexAction namun isinya kosong, itu maksudnya method itu akan otomatis memanggil view yang sama dengan nama controller dan nama method sebagai contoh :


1. Nama controller adalah IndexController maka akan membaca folder views bernama index
2. Nama method adalah IndexAction maka akan membaca view dengan nama file index


Coba anda buka file index.volt tersebut , maka hasilnya adalah :

<h1>Congratulations!</h1>
<p>You're now flying with Phalcon. Great things are about to happen!</p>


Setelah itu anda rubah index.volt menjadi :

<h1>Horeee !</h1>
<p>Saya terbang bersama phalcon !</p>
 
Lalu save dan buka pada browser dengan memasukan alamat localhost/phalcon_project , maka hasilnya adalah
Nah bagaimana jika kita ingin menambahkan method baru pada controllers dan membaca view tersebut ?
Oke sekarang pada IndexController buat method dengan nama BacaAction , sehingga IndexController.php :
<?php
class IndexController extends ControllerBase
{

    public function indexAction()
    {

    }
 public function BacaAction()
    {

    }
}


Setelah itu buat file .volt dengan nama baca.volt dan isinya :

<p>Ini method baca.volt !</p>
 
Lalu simpan setelah itu buka browser dan masukan URL : http://localhost/phalcon_project/index/baca , maka hasilnya :


Oke , cukup sekian tutorial mengenai konsep dalam menampilkan data menggunakan phalcon framework.

Congrats You're Flying With Phalcon !!!

Posting Komentar

2 Komentar