Mam sobie własną implementację MVC i pojawił się problem z widokiem...
Oto przykładowy kontroler:
  1. <?php
  2. require ('app/controllers/AppController.php');
  3. class SayHelloController extends AppController {
  4. public function __construct () {
  5. require ('app/models/SayHelloModel.php');
  6. require ('app/views/AppView.php');
  7. $this -> view = new AppView;
  8. $this -> model = new SayHelloModel;
  9. }
  10. public function index () {
  11. print ('Dupa');
  12. }
  13. public function saySomething ($what) {
  14. print ($what['what']);
  15. }
  16. }
  17. ?>

Klasa AppView:
  1. <?php
  2. final class AppView {
  3. public $vars;
  4. public function set ($varName, $varValue) {
  5. $this -> vars[$varName] = $varValue;
  6. }
  7. public function display ($templateFile) {
  8. require ('app/views/' . $templateFile . '.template');
  9. }
  10. }
  11. ?>

Aby obsłużyć klasę widoku tak, aby w pliku widoku (*.template) były widoczne zmienne php, można:
1 użyć Smarty bądź innego systemu szablonów
2 użyć zmiennych globalnych
3 o ile dobrze wyczytałem, użyć wzorca Helper View/Template View.

Moja implementacja MVC jest co prawda budowana przy całkowitej ignorancji większości przydatnych wzorców projektowych, teraz jednak najlepszym rozwiązaniem wydaje się właśnie jeden z w/w wzorców.

Nie mogę jednak znaleźć w Sieci żadnego przykładu implementacji wzorców... Mogę więc prosić o sample kodu tego wzorca działającego z klasą AppView albo przynajmniej wytłumaczenie, na czym to polega?

Dzięki.