Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Budowa kontrolera na przykładzie implementacji MVC

Dopełnienie wzorca MVC - tworzenie klasy generatora arkusza stylów

Jak wytłumaczyłem w poprzednim rozdziale, "widok" reprezentowany będzie przez klasę generującą arkusz stylów. Zadaniem tej klasy będzie więc wygenerowanie strony z uwzględnieniem stylu wskazanego jej przez kontroler.

Bazując na powyższych założeniach, nowa klasa mogłaby wyglądać następująco:

<?
// definicja klasy 'StyleGenerator' (widok)

class StyleGenerator{
    private $webPage;
    public function __construct(WebPage $webPage){
        $this->webPage=$webPage;
    }
    public function generateStyle(){
        return str_replace('defaultstyle',$this->webPage-
>getControllerStyle(),$this->webPage->getPage());
    }
}
?>

Jak widać, klasa "StyleGenerator" pokazana powyżej przyjmuje odpowiedni obiekt "WebPage" (pamiętaj - to jest nasz model!) i używa metody "generateStyle()", aby dołączyć arkusz stylów do strony WWW. Zauważ w tym miejscu, w jaki sposób stosowany styl dowiązany jest do dokumentu - w oparciu o "decyzje" podjęte przez klasę kontrolera.

Na tym etapie czuję się całkiem usatysfakcjonowany, ponieważ zdefiniowałem trzy elementy, które wspólnie tworzą kompletny wzorzec MVC. Nadszedł czas, by zebrać wszystkie klasy razem i zobaczyć, jak poszczególne arkusze stylów (nazwane "widokami") mogą być dynamicznie dołączane do dokumentu web tworzonego przez klasę "WebPage".

Przejdź do następnej części, gdzie zobaczysz jak można to osiągnąć.

Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (2)
Słabizna
Czwartek 20 Sierpień 2009 6:37:31 pm - mistrzhtml

Niestety, artykuł z serii "nie mam nic do napisania, ale napiszę". To ma być wyjaśnienie modelu MVC? Raczej jakieś idiotyczne przypinanie arkusza CSS, które nic nie wnosi i jest tylko dodatkiem. Niedostateczny!

30 maja
Niedziela 07 Styczeń 2007 10:55:31 am - jordan1977 <mroszak2001_at_yahoo.com>

rozkaz zostanie wykonany 30 maja

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2022 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System