Actions

Chunk

Model-View-Controller

From Joomla! Documentation

This page is a translated version of a page Chunk:Model-View-Controller and the translation is 100% complete.

Joomla membuat pola desain Model-View-Controller yang dapat dikembangkan.

Saat Joomla mulai memproses permintaan dari seorang pengguna, seperti perintah GET untuk halaman tertentu, atau POST yang mengandung form data, salah satu hal yang pertama kali dilakukan Joomla adalah menganalisa URLnya untuk menentukan komponen mana yang akan bertanggungjawab memproses permintaan tersebut, dan kemudian akan menyerahkan kendali ke komponen tersebut.

Apabila komponen sudah didesain berdasarkan pola MVC, maka kendali akan diteruskan ke pengendalinya, atau Controller. Pengendali bertanggungjawab menganalisa permintaan dan menentukan modul-modul mana saja yang diperlukan untuk memproses permintaan, dan tampilan mana saja yang harus dipakai untuk mengembalikan hasilnya kepada pengguna.

Model akan merangkum data yang digunakan oleh komponen. Dalam banyak hal data ini akan datang dari sebuah database, baik database Joomla, maupun beberapa database eksternal, tapi model bisa saja mendapatkan data dari sumber-sumber yang lain, seperti melalui API layanan web dari server lain. Model juga bertanggungjawab untuk memutakhirkan database kapan saja diperlukan. Tujuan model adalah untuk memisahkan pengendali dan tampilan dari detail-detail bagaimana data itu diperoleh atau diubah.

Tampilan, atau View, akan bertanggungjawab membuat hasil yang didapatkan untuk kemudian ditampilkan ke peramban oleh komponen bersangkutan. Tampilan akan memanggil model untuk sembarang informasi yang diperlukannya dan dengan format yang sesuai. Sebagai contoh, sebuah daftar data yang diambil dari model bisa saja dibungkus ke dalam tabel HTML oleh tampilan.

Sejak Joomla di desain untuk bisa bekerja secara modular, hasil dari komponen hanyalah sebagian halaman web lengkap yang dilihat oleh pengguna. Saat tampilan (View) membuat hasilnya, komponen akan menyerahkan kendali kepada kerangka kerja Joomla, atau framework, untuk kemudian memuat dan mengeksekusi templat. Templat akan menggabungkan hasil dari komponen dan sembarang modul yang sedang aktif di halaman, sehingga gabungan proses, atau disebut juga modular, ini nantinya bisa dilihat di peramban sebagai suatu halaman web.

Untuk menyediakan kekuatan tambahan dan fleksibilitas bagi para desainer web, yang mungkin bisa saja hanya berkonsentrasi membuat desain-desain daripada memanipulasi kode, Joomla membagi tampilan (view) yang biasa ke dalam dua bagian, yaitu tampilan (view) dan tata letak (layout). Tampilan akan menarik data dari model, seperti halnya pola MVC yang biasa, kemudian membuat data tersebut tersedia untuk tata letak, yang bertanggungjawab membentuk data itu untuk diperlihatkan kepada pengguna. Keuntungan dengan adanya pembagian ini adalah sistem templat Joomla bisa menyediakan mekanisme yang sederhana untuk perubahan-perubahan tata letak di dalam templat. Perubahan-perubahan tata letak ini (seringkali disebut dengan "penimpa templat" karena sebenarnya ini adalah bagian templat yang ditimpa) dikemas bersama templatnya dan memberikan kendali penuh bagi para desainer templat untuk mengendalikan seluruh hasil inti Joomla dan sembarang ekstensi dari pihak ketiga mengikuti pola desain MVC.

Languages

Other languages: català 33% • ‎English 100% • ‎español 100% • ‎français 100% • ‎Bahasa Indonesia 100% • ‎日本語 100% • ‎Nederlands 100% • ‎Kiswahili 100% • ‎Türkçe 100%