View
View adalah sebuah file yang bertugas untuk menampilkan output dari semua proses yang sudah dilakukan pada bagian controller dan model.
Membuat View
Folder view terletak pada:
apps/view/
Untuk membuat file view, tambahkan file baru di dalama folder ini, misalnya helloworld.php.
Untuk bisa digunakan di dalam aplikasi, file view harus di-load di dalam method controller. Berikut adalah contoh me-load file view di dalam method index pada controller home.
Untuk me-load file view, panggil method dengan prefix $this->view_ yang kemudian diikuti nama_file(). Anda tidak perlu lagi menyertakan ekstensi .php pada bagian ini.
$this->view_nama_file();
Jika Anda membuat folder baru di dalam folder view, dimana file view akan Anda letakkan pada folder ini, maka cara penggunaan method view-nya adalah:
$this->view_namafolder_nama_file();
Contohnya, jika path file Anda:
apps/view/sidebar/menu.php
Maka memanggil method view-nya:
$this->view_sidebar_menu();
Catatan: Penamaan file mengikuti aturan penamaan fungsi php (http://www.php.net/manual/en/functions.user-defined.php), yaitu hanya karakter [a-zA-Z0-9_] yang diperbolehkan. Untuk membedakan dengan nama file, nama folder tidak boleh ada karakter underscore (_).
Namun demikian, jika menginginkan penggunaan nama file dan nama folder yang lebih fleksibel, Anda bisa menggunakan method output() untuk mem-passing data ke file view.
Untuk menampilkan data output dari controller ke view, maka masing-masing data tersebut harus di isikan ke sebuah variable array. Nilai yang diisikan bisa data apapun, array, object, string, integer, boolean dll.
Berikut adalah contoh untuk meneruskan data yang diproduksi di controller dan menampilkannya di view:
Dan berikut adalah isi file apps/view/helloworld.php:
Method Output
Selain cara di atas, untuk mengirimkan data dari controller ke file view juga bisa menggunakan method output.
void $this->output( string 'nama_file_view', array $data = array() );
Berikut adalah contoh penggunaanya:
Dan jika filenya terletak di dalam folder:
$this->output( 'subfolder/helloworld', $data );