Yii mengimplementasikan pola desain model-view-controller (MVC) atau model-tampilan-kontroler yang secara luas diadopsi 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; tampilan berisi elemen antar muka pengguna seperti teks, formulir input; sementara kontroler mengatur komunikasi antar model dan tampilan.
Selain MVC, Yii juga memperkenalkan kontroler-depan, disebut aplikasi, yang menggambarkan berjalannya konteks proses permintaan. Aplikasi memecah permintaan pengguna dan membaginya ke kontroler yang sesuai untuk penanganan selanjutnya.
Diagram berikut memperlihatkan struktur statis sebuah aplikasi Yii:
Struktur statis aplikasi Yii
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 naskah bootstrapindex.php
. - Naskah bootstrap membuat turunan aplikasi dan menjalankannya.
- Alikasi mendapatkan rincian informasi permintaan pengguna dari komponen aplikasi bernama
request
. - Aplikasi menentukan kontroler dan aksi yang diminta dengan bantuan komponen aplikasi bernama
urlManager
. Dalam contoh ini, kontroler adalahpost
yang merujuk pada kelasPostController
; dan aksi adalahshow
yang arti sebenarnya ditentukan oleh kontroler. - Aplikasi membuat turunan kontroler yang diminta untuk selanjutnya menangani permintaan pengguna. Kontroler menentukan aksi
show
merujuk pada sebuah metode bernamaactionShow
dalam kelas kontroler. 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 adalah1
dari database. - Aksi meyiapkan tampilan bernama
show
dengan modelPost
. - Tampilan membaca dan menampilkan atribut model
Post
. - Tampilan menjalankan beberapa widget.
- Tampilan menyiapkan hasil yang dilengketkan dalam tata letak.
- Aksi menyempurnakan pembuatan tampilan dan menampilkan hasil akhir kepada pengguna.
No comments:
Post a Comment