Melakukan Testdrive dengan Yii
Dalam bagian ini, akan dijelaskan bagaimana membuat sebuah aplikasi kerangka yang berfungsi sebagai titik awal kita. Supaya sederhana, diasumsi bahwa root dokumen Web server kita adalah /wwwroot
dan URL terkait adalah http://www.example.com/
.
Melakukan Instalasi Yii
Pertama-tama kita melakukan instalasi framework Yii terlebih dahulu. Dapatkan sebuah copy file rilis Yii (versi 1.1.1 ke atas) dari www.yiiframework.com dan keluarkan filenya dari zip ke direktori /wwwroot/yii
. Pastikan lagi bahwa terdapat sebuah direktori /wwwroot/yii/framework
.
Tips: Framework Yii dapat diinstalasi di mana saja dalam sistem file, tidak harus di folder Web. Direktori
framework
-nya mengandung seluruh kode framework dan hanya direktori framework yang diperlukan ketika melakukan pemasangan aplikasi Yii. Sebuah instalasi Yii tunggal dapat digunakan lebih dari satu aplikasi Yii.
Setelah selesai melakukan instalasi Yii, buka sebuah browser dan akses URL http://www.example.com/yii/requirements/index.php
. Maka akan muncul sebuah requirement checker yang tersedia di Yii. Untuk aplikasi blog kita, selain kebutuhan minimal untuk Yii, kita juga perlu mengaktifkan ekstensi PHP pdo
dan pdo_sqlite
sehingga kita dapat mengakses database SQLite.
Membuat Aplikasi Kerangka
Kita kemudian menggunakan tool bernama yiic
untuk menciptakan aplikasi kerangka di dalam direktori /wwwroot/blog
. yiic
merupakan sebuat command line tool yang tersedia di dalam Yii. Tool ini dapat digunakan untuk menghasilkan kode untuk mengurangi pekerjaan menulis kode yang berulang-ulang.
Buka sebuah window command dan jalankan perintah berikut ini :
% /wwwroot/yii/framework/yiic webapp /wwwroot/blog Create a Web application under '/wwwroot/blog'? [Yes|No]y ......
Tips: Supaya dapat menggunakan
yiic
seperti tampilan di atas, program CLI PHP harus ada di command search path.Kalau tidak, ikuti langkah berikut ini :path/to/php /wwwroot/yii/framework/yiic.php webapp /wwwroot/blog
Untuk mencoba aplikasi yang baru saja dibuat kita, buka sebuah browser Web dan navigasi ke URL http://www.example.com/blog/index.php
. Akan kelihatan aplikasi kerangka kita yang sudah memiliki empat halaman yang berfungsi penuh, homepage (halaman depan), halaman about (halaman tentang), halaman contact (halaman kontak), dan halaman login.
Berikut ini, kita akan menjelaskan secara singkat apa saja yang berada di dalam aplikasi kerangka.
Skrip Entri
Kita memiliki sebuah skrip entri yakni file /wwwroot/blog/indexphp
yang berisi :
$yii='/wwwroot/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php'; // remove the following line when in production mode defined('YII_DEBUG') or define('YII_DEBUG',true); require_once($yii); Yii::createWebApplication($config)->run();
Ini merupakan skrip yang dapat diakses langsung oleh pengguna Web. Skrip file menyertakan file bootstrap Yii yii.php
. Skrip entri membuat sebuah instance aplikasi beserta konfigurasi tertentu dan menjalankannya.
Direktori Aplikasi Dasar
Kita juga memilik sebuah direktori dasar aplikasi /wwwroot/blog/protected
. Pada umumnya kode dan data kita akan diletakkan dalam direktori ini, dan harus terlindungi dari Web user yang ingin mengaksesnya. Untuk Apache httpd Web server, kita meletakkan sebuah file .htaccess
direktori dengan isinya:
deny from all
Untuk server Web yang lain, silahkan merujuk ke manual yang bersangkutan untuk mengetahui bagaimana melindungi direktori dari akses pengguna Web.
Alur Kerja Aplikasi
Untuk membantu memahami cara kerja Yii, akan dijelaskan alur kerja utama aplikasi kerangka kita ketika seorang pengguna mengakses halaman contact:
- Pengguna me-request URL
http://www.example.com/blog/index.php?r=site/contact
; - Skrip entri dieksekusi oleh server Web untuk memproses request;
- Sebuah instance aplikasi dibuat dan dikonfigurasi dengan nilai properti awal yang ditentukan di dalam file konfigurasi
wwwroot/blog/protected/config/main.php
; - Aplikasi tersebut menguraikan request ke sebuah controller dan sebuah action controller. Untuk request halaman contact, diuraikan sebagai controller
site
dan actioncontact
(metodeactionContact
di/wwwroot/blog/protected/controllers/SiteController.php
); - Aplikasi tersebut membuat controller
site
dalam istilah instanceSiteController
dan menjalankannya; - Instance dari
SiteController
menjalankan actioncontact
dengan memanggil metodeactionContact()
; - Metode
actionContact
merender sebuah view bernamacontact
kepada pengguna Web. Secara internal, ini dapat dicapai dengan menyertakan file view/wwwroot/blog/protected/views/site/contact.php
dan menempelkan hasilnya ke dalam layout file/wwwroot/blog/protected/views/layouts/column1.php
.