Artykuły
Kurs pisania komponentów dla Joomla 1.5 [MVC]
Lekcja 4 – MVC – Model [model]
Lekcja 4 – MVC – Model [model] |
|
|
| Redaktor: Administrator | |
| 15.05.2008. | |
|
W dzisiejszym artykule postaram siÄ™ dość zwięźle i szybko przedstawić Wam kolejnÄ… warstwÄ™ wzorca projektowego jakim jest MVC. OczywiÅ›cie warstwa ta bÄ™dzie przedstawiona na przykÅ‚adzie z poprzednich lekcji tzn. komponentu dla Joomla 1.5 Model bÄ™dzie odrÄ™bnym plikiem php przechowywanym w katalogu models w gÅ‚ównym katalogu komponentu. Nazwa pliku php bÄ™dzie dowolna z tÄ… jednak zasadÄ… jak w przypadku widoków, że jeÅ›li chcemy utworzyć jakiÅ› model domyÅ›lny dla widoku nazywamy go tak samo jak nasz widok. Ogólny szablon modelu bÄ™dzie wyglÄ…daÅ‚ nastÄ™pujÄ…co:
Jak na pewno zauważyliÅ›cie ciaÅ‚o modelu nie różni siÄ™ zbytnio od widoku. Jedyna różnica to Å‚adowana biblioteka joomla.application.component.model oraz nazwa klasy, która skÅ‚ada siÄ™ z NazwyKomponentu – chyba nie muszÄ™ komentować, w naszym przypadku z poprzednich lekcji bÄ™dzie to Witaj. NastÄ™pnie sÅ‚owo kluczowe (w rozumieniu pisania komponentów dla Joomla) Model, po którym wpisujemy nazwÄ™ Modelu (taka sama jak nazwa pliku bez php). W takim razie źródÅ‚o naszego przykÅ‚adowego modelu bÄ™dzie wyglÄ…dać tak:
W module tym zaimplementowaÅ‚em prostÄ… funkcjÄ™ która zwraca napis ze zmiennej $dane. OczywiÅ›cie funkcji może być wiÄ™cej i mogÄ… zwracać różne dane, nas bÄ™dÄ… interesować dane z bazy danych których obsÅ‚uga jest równie prosta jak tworzenie modelu! Joomla udostÄ™pnia nam gotowe klasy i funkcje które należy odpowiednio wykorzystać. No cóż, ale koniec tego wywodu miaÅ‚o być krótko.
Mamy gotowy model. Jak wiÄ™c teraz wykorzystać funkcje w nim zawarte? Musimy zmodyfikować nasz widok, który teraz bÄ™dzie wyglÄ…daÅ‚ tak:
Tutaj dużo nie będe tłumaczył ponieważ widok był opisany w poprzedniej lekcji. Nowością jest tutaj:
$model = & $this->getModel();
funkcja ta przypisuje zmiennej $model instancję naszego modelu (jeśli nie podamy parametru to szukany jest model o nazwie takiej jak nazwa widoku). Jeśli chcemy załadować inny model o nazwie np. test funkcję wywołujemy następująco:
$innyModel =& $this->getModel('test');
MyÅ›lÄ™ że na chwilÄ™ obecnÄ… wystarczy tyle informacji, w nastÄ™pnej lekcji prawodpodobnie napiszÄ™ o pobieraniu danych z baz danych. Tak wiÄ™c zapraszam do ponownych odwiedzin i oczywiÅ›cie gÅ‚osowania w ankiecie. JeÅ›li chcesz siÄ™ przyczynić do szybkoÅ›ci powstawania artykuÅ‚ów proszÄ™ rozpowszechniaj adres tej strony, zwiÄ™kszony ruch motywuje mnie do tworzenia kolejnych lekcji.
|
|
| Zmieniony ( 15.05.2008. ) |
| « poprzedni artykuÅ‚ | nastÄ™pny artykuÅ‚ » |
|---|



TOOLS :

