Terimler Dizini
From Joomla! Documentation
Joomla! dersleri, yardım sayfaları ve gelişmiş dokümanlarda bulunan, sıkça kullanılan terimleri öğrenmek için Joomla! Terimler Dizini faydalı bir kaynaktır.
Model-View-Controller
Joomla! Model-View-Contoller için geniş kullanım alanı sağlamaktadır.
Joomla bir kullanıcıdan gelen talebi işlerken, mesela bir sayfa için GET gibi, veya form verisi içeren bir sayfa için POST, Joomla'nın yaptığı ilk şey ilgili URL'yi işleyecek olan bileşeni tespit etmek ve bileşeni kontrol etmektir.
Eğer bileşen MVC yapısına göre tasarlandıysa, control kısmını controller'a aktaracaktır. Controller talebi inceler ve talebi karşılamak için hangi model'in gerekli olduğunu tanımlar, ve kullanıcıya döndürülmek üzere hangi view'in kullanılacağını belirler.
Model bileşen tarafından kullanılan verileri saklar. Genellikle bu veri Joomla veya dış bir veritabanından gelmektedir, ayrıca model farklı kaynaklardan da - başka bir sunucuda çalışan API web hizmetleri gibi - veriler alabilir. Ayrıca model uygun olduğunda veritabanını güncellemekten de sorumludur. Modelin amacı; verinin nasıl alındığı ve düzenlendiği bilgisinden controller ve view'ı ayırmaktır.
View'ın işlevi, bileşen tarafından tarayıcıya gönderilen çıktıyı oluşturmaktır. Gerekli tüm bilgiler için model'i çağırır ve uygun şekilde biçimlendirir. Örneğin; model tarafından çekilen veri öğesi listesi, bir HTML tablosu görüntüsüne dönüştürülebilir.
Since Joomla is designed to be highly modular, the output from the component is generally only part of the complete web page that the user will ultimately see. Once the view has generated the output, the component hands control back to the Joomla framework which then loads and executes the template. The template combines the output from the component, and any modules that are active on the current page, so that it can be delivered to the browser as a single page.
Bir sistemin altında yatan kodları değiştirmek yerine sadece yeni bir tasarım yapmak isteyen web tasarımcılara daha fazla kolaylık ve esneklik sağlamak için, Joomla geleneksel view'ı, birbirinden ayrı bir "view" ve "layout" haline getirir. View geleneksel MVC'de olduğu gibi model'den bilgiyi alır, sonra bu bilgiyi, verinin kullanıcıya sunulmak üzere biçimlendirilmesi işlevini gören layout'a aktarır. Joomla'nın bu ayrımı yapmasının avantajı, tema sisteminin layout'ların tema tarafından basitçe override yapılmasını sağlayan bir mekanizma oluşturmasıdır. Bu layout override'ları (aslında override edilen layout olmasına rağmen, layout temanın bir kısmı olduğu için genelde tema override'ı olarak adlandırılırlar) temayla birlikte gelirler ve tasarımcıya Joomla çekirdeği ve kurulmuş tüm MVC yapısına uygun 3. taraf eklentilerinin çıktıları üzerinde kontrol sağlarlar.