Witam
Moje dzisiejsze pytanie dotyczy komunikacji kontrolera z widokiem w architekturze MVC. Otóż nie wiem w jaki sposób najlepiej przekazywać dane do Widoku.
Podejścia które przychodzą mi do głowy:
1. Podobnie do Smarty - poprzez Assign każdej wartości która ma zostać wyświetlona.
2. Przekazanie obiektu Envelope, który zawiera potrzebne dane.
3. Przekazanie jakiejś instancji Modelu np w read only mode
Sposoby 1 i 2 moim zdaniem nie są doskonałe dlatego, że kontroler musi posiadać wiedzę co chce wyświetlić. Wyobraźmy sobie taką zmianę w stronie: pokazanie na stronie głównej ostatnio dodanych artykułów. W podejściu 1 i 2 należy zmienić kontroler gdyż do tej pory dane o ostatnio dadanych artykułach nie były assignowane czy dodawane do koperty. No i oczywiście widok.
Podejście nr 3 będzie chyba godziło w model MVC a w dodatku nie jest chyba optymalne ze względu na bezpieczeństwo aplikacji.
Jakie rozwiązanie stosujecie w waszych aplikacjach i jak to jest zrobione w Zendach i innych Symphoniach?