Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MVC - widok
Apo
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

Ostrzeżenie: (0%)
-----


Witam

Zastanawiałem się ostatnio nad implemenacją widoku w moim frameworku. Dotychczas nie tworzyłem osobnych klas dla widoku tylko robiłem tak jak jest w ZF:

  1. <?php
  2.  
  3. class Controller_View extends Controller {
  4.  
  5. public function showComentsAction()
  6. {
  7. $view = new View(); // poprostu prosty parser szablonów
  8. $view->imie = "Marek"; // assign
  9. $view->render('szablon'); // wygenerowanie widoku i przekazanie do zmiennej w HttpResponse
  10. }
  11.  
  12. }
  13. ?>


Ale zauważyłem że dużo osób tworzy osobne klasy dla widoku np:

  1. <?php
  2.  
  3. class News_View extends View {}
  4.  
  5. ?>


Czy moglibyście wyjaśnić jakieś plusy trzymania widoków w osobnych klasach :?: (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Apo
post
Post #2





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

Ostrzeżenie: (0%)
-----


A mógłbyś pokazać jakiś przeykład takowej klasy, powiedzmy standardowa (html). Bo ja to rozumuje tak:

Akcja:

  1. <?php
  2.  
  3. class News_Controller extends Controller {
  4.  
  5. public function newsAction()
  6. {
  7. $news = $this->getView('news'); // klasa widoku News
  8. $news->imie = "Marek";
  9. $news->render();
  10. }
  11.  
  12. }?>


No i jak ma wyglądać przykładowa klasa News_View i co ma w sobie zawierać.

  1. <?php
  2.  
  3. class News_View extends View {
  4.  
  5. public function __construct()
  6. {
  7.  $this->setTemplate('widokNewsa');
  8. }
  9.  
  10. }?>


Takie coś stworzyłem ale nie wiem czy dobrze to zrozumiałem :|
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 23:05