Yii mengimplementasikan pola desain model-view-controller (MVC), yang
diadopsi secara luas dalam pemrograman Web. MVC bertujuan untuk memisahkan
logika bisnis dari pertimbangan antar muka pengguna agar para pengembang bisa
lebih mudah mengubah setiap bagian tanpa mempengaruhi yang lain. Dalam MVC,
model menggambarkan informasi (data) dan aturan bisnis; view(tampilan) berisi
elemen antar muka pengguna seperti teks, input form; sementara controller
mengatur komunikasi antar model dan view.
Selain implementasi MVC, Yii juga memperkenalkan
front-controller(controller-depan), yang disebut Aplikasi, yang
mengenkapsulasi konteks eksekusi untuk memproses sebuah request. Aplikasi mengumpulkan
beberapa informasi mengenai request pengguna dan kemudian mengirimnya ke
controller yang sesuai untuk penanganan selanjutnya.
Diagram berikut memperlihatkan struktur statis sebuah aplikasi Yii:
Struktur statis aplikasi Yii
1. Alur kerja Umum
Diagram
berikut memperlihatkan alur kerja umum sebuah aplikasi Yii saat menangani
permintaan pengguna:
Alur kerja
umum aplikasi Yii
- Pengguna membuat permintaan dengan URL http://www.example.com/index.php?r=post/show&id=1 dan server Web menangani permintaan dengan menjalankan skrip bootstrap index.php.
- Skrip bootstrap membuat sebuah instance Aplikasi dan menjalankannya.
- Aplikasi mendapatkan rincian informasi permintaan pengguna dari komponen aplikasi bernama request.
- Aplikasi menentukan controller dan aksi yang diminta dengan bantuan komponen aplikasi bernama urlManager. Dalam contoh ini, controller adalah post yang merujuk pada kelas PostController; dan aksi adalah show yang arti sebenarnya ditentukan oleh controller
- Aplikasi membuat istance controller yang diminta untuk selanjutnya menangani permintaan pengguna. Controller memnentukan aksi show merujuk pada sebuah metode bernama Actionshow dalam kelas controller. Kemudian membuat dan menjalankan filter (contoh kontrol akses, pengukuran) terkait dengan aksi ini. Aksi dijalankan jika diijinkan oleh filter
- Aksi membaca Post model di mana ID adalah 1 dari database.
- Aksi meyiapkan view(tampilan) bernama show dengan model Post.
- View membaca dan menampilkan atribut model Post.
- View menjalankan beberapa widget.
0 komentar:
Posting Komentar