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! 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.

Joomla tamamen modüler olacak şekilde tasarlandığından, bir bileşenin çıktısı genellikle kullanıcının göreceği nihai sayfanın sadece bir bölümü olacaktır. View çıktıyı ürettikten sonra, bileşen, yönetimi temayı yükleyen ve çalıştıran Joomla framework'üne geri verir. Tema, bileşenden gelen çıktıyı ve mevcut sayfada aktif olan tüm modülleri birleştirir, böylece bunların tamamı tarayıcı tarafından tek bir sayfa olarak görüntülenebilir.

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.

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%