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/
.
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.
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.
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.
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.
Untuk membantu memahami cara kerja Yii, akan dijelaskan alur kerja utama aplikasi kerangka kita ketika seorang pengguna mengakses halaman contact:
http://www.example.com/blog/index.php?r=site/contact
;wwwroot/blog/protected/config/main.php
;site
dan action contact
(metode actionContact
di /wwwroot/blog/protected/controllers/SiteController.php
);site
dalam istilah instance SiteController
dan menjalankannya;SiteController
menjalankan action contact
dengan memanggil metode actionContact()
;actionContact
merender sebuah view bernama contact
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
.
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.