Yii mengimplementasikan pola desain Model-View-Controller (MVC) yang diadopsi secara luas dalam pemrograman web. MVC bertujuan untuk memisahkan logika bisnis dari pertimbangan antarmuka 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 antarmuka pengguna seperti teks, input form. Dan Controller mengatur komunikasi antara Model dan View (jembatan antara Model dan View).
Selain implementasi MVC, Yii juga memperkenalkan front-controller yang disebut dengan Aplikasi, yang meng-enkapsulasi konteks eksekusi untuk memproses sebuah request. Aplikasi mengumpulkan beberapa informasi mengenai request pengguna, kemudian mengirimnya ke Controller yang sesuai untuk penanganan selanjutnya.
Diagram berikut menjelaskan alur kerja umum dari sebuah aplikasi Yii ketika menangani permintaan pengguna.
Keterangan gambar:
1. Pengguna melakukan permintaan URL http://www.example.com/index.php?r=post dan
server web menangani permintaan dengan menjalankan skrip bootstrap index.php.
2. Skrip bootstrap membuat sebuah instance Aplikasi dan menjalankannya.
3. Aplikasi mendapatkan rincian informasi permintaan pengguna dari komponen aplikasi bernama request.
4. 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.
5. Aplikasi membuat instance controller yang diminta untuk selanjutnya menangani permintaan pengguna. Controller menentukan aksi show merujuk pada sebuah metode bernama actionS
dalam kelas controller. Kemudian membuat dan menjalankan filter (contoh kontrol akses, pengukuran) terkait dengan aksi ini. Aksi dijalankan jika diijinkan oleh filter.
6. Aksi membaca Post model di mana ID adalah 1 dari database.
7. Aksi meyiapkan view (tampilan) bernama show dengan model Post.
8. View membaca dan menampilkan atribut model Post.
9. View menjalankan beberapa widget.
10. View menyiapkan hasil yang dipasangkan dalam layout (tata letak).
11. Aksi mengakhiri pembuatan view dan menampilkan hasil akhir kepada pengguna.
No comments:
Post a Comment