Chunk

Mtawala wa Mtazamo wa Modeli (Model View Controller, MVC)

From Joomla! Documentation

Revision as of 07:58, 12 April 2014 by Ayeko (talk | contribs)

Joomla inashugulika sana na patani ya mchoro wa Mtawala wa Mtazamo wa Modeli.

Ikiwa Joomla inaanza kuandaa maombi kutoka kwa mtumiaji, kama vile GET kwa ukurasa halisi, au POST inayohusiana na data ya fomu, mojawapo ya jambo la kwanza Joomla itakalofanya ni kuchambua URL na kuamua komponeti gani utakuwa na mamlaka ya kupeana maombi, na kupeana uthibiti kwa komponenti hio.

Ikiwa komponenti iliundwa kwa patani ya MVC, itapeana uthibiti kwa mtawala. Mtawala anamamlaka ya kuchambua maombi na kuamua kuwa ni modeli gani unahitaji kudhibitiwa na ombi, na ni mtazamo gani utatumika kwa kuregesha matokeo kwa mtumiaji.

Modeli inajenga gamba kwa data zinazotumiwa na komponenti. Kwa kesi nyingi, data hizi zitatoka kwa hifadhidata - ama hifadhidata ya Joomla au hifadhidata tofauti za nje - lakini modeli pia unaweza kupata data kutoka kwa vyanzo vingine, kama API ya mahuduma ya mitandao yanayoendeshwa katika seva nyingine. Modeli pia unamamlaka ya kusasisha hifadhidata wakati wa mwafaka. Kusudi ya modeli ni kujitenga na mtawala na kuangalia kutoka kwa maelezo na ni vipi data zitapatikana au zitarekebishwa.

Mtazamo una mamlaka wa kutengeza pato ambalo komponenti itatumia kwa kisakuzi. Itatoa witu kwa modeli ya taarifa yoyote inayohitajika, na itapeana fomati ya sahihi. Kwa mfano, mtazamo utaweza kuvuta orodha ya vitu vya data kutoka kwa modeli na kufunga vitu hivyo katika jedwali ya HTML.

Kutoka Joomal ilipoanza kutumika na moduli nyingi sana, pato kutoka kwa komponenti kwa ujumla ni sehemu ya ukurasa wa wavuti pekee ambao mtumiaji ataona mwishoni. Baada ya mtazamo kutengeza pato, komponenti itaregesha uthibiti kwa muundo wa Joomla, ambao utashusha na utaendesha templeti. Templeti itachanganya pato kutoka kwa komponenti na moduli zote ambazo zinafanya kasi katika ukurasa wa sasa. Kwa njia hii, ukurasa utaweza kupelekwa kwa kisakuzi kama ukurasa mmoja.

Kwa kutoa nguvu na urahisi wa ziada kwa wachoraji wa wavuti (ambao wana maslahi ya kutengeza michoro mipya pekee, sio kuchezea msimbo wa msingi) Joomla itagawanya mtazamo wa asili kwa namna mbili: mtazamo wa kando au mpangilio. Mtazamo unaovuta data kutoka kwa modeli (kama patani ya asili ya MVC), lakini tena unapeana data kwa mpagilio, ambao una mamlaka kwa kufomati data na kuwakilisha kwa mtumiaji. Ubora wa ugawanyaji huu ni kuwa mfumo wa templeti wa Joomla unapeana mbinu rahisi kwa kubadilisha mipangilio ndani ya templeti. Haya mabadilisho ya mpangilio (yanajulikana kama "template overrides" kwa sababu ni sehemu ya templeti, hata ikiwa mpangilio (sio templeti) utabadilishwa) yatafungwa pamoja na templeti, na mchoraji wa templeti atapata uthibiti wa ujumla wa pato kutoka kwa kiini cha Joomla na viendelezo vyote vya mkono wa tatu ambavyo vitazingatia na patani ya mchoro wa MVC.

Languages

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Kiswahili • ‎Nederlands • ‎Türkçe • ‎català • ‎español • ‎français • ‎italiano • ‎русский • ‎中文(台灣)‎ • ‎日本語