Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MVC] Podział aplikacji?
raikou
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 25.11.2005
Skąd: Warszawa

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


Witam

Mam trzy pytania odnośnie wzorca MVC, byłbym wdzięczny za wszelkie wskazówki.

1) Co powinno znaleźć się w modelu? Rozumiem że np. wszelkie funkcje dotyczące konretnych zadań nie związanych z wyświetlaniem danych. Czyli w takim razie klasa do zarządzania użytkownikami będzie modelem?

2) Filtracja i walidacja danych wejściowych, które mają mieć jakiś określony typ, powinna się odbywać w kontrolerze czy modelu? Nie mówię tutaj o zapisie do bazy/pliku, ta filtracja jest w osobnym DAO.

3) Wielojęzyczność strony mam rozumieć powinna być w zaimplementowana gdzieś w elemencie widoku?
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%)
-----


Niewiem czy opłaca sie tworzyć jeszcze osobne klasy do każdego formularza aby je sparadzić, bo i tak trzeba robić klase widoku, model, kontroler no i by jeszcze klasa form doszła.

Narazie robie wielkie uproszczenie z walidacją:

  1. <?php
  2.  
  3. // jakis tam kontroler
  4.  
  5. public function addAction()
  6. {
  7. $view = $this->getView('ogloszenie');
  8. $view->add();
  9.  
  10. if($this->request->requestMethod() == 'POST')
  11. {
  12. $t['title'] = $this->request->post('s_title', 1);
  13. $t['price'] = $this->request->post('s_price', 1);
  14. $t['time_to'] = $this->request->post('s_timeto', 1);
  15. $t['category'] = $this->request->post('s_category', 1);
  16. $t['content'] = $this->request->post('s_content', 1);
  17. $t['autor'] = $this->getUser()->id;
  18. $t['time_from'] = time();
  19. $error = false;
  20.  
  21. foreach($t as $key => $value)
  22. {
  23. if(empty($value) || !isset($value))
  24. $error = true;
  25. }
  26.  
  27. if($error === true)
  28. {
  29. $view->errors = 'Prosze wypelnic wszystkie pola';
  30. $view->t = $t;
  31. }
  32. else
  33. {
  34. $model = $this->getModel('ogloszenie');
  35.  
  36. if($model->dodajOgloszenie($t))
  37. $view->errors = 'Ogloszenie zostalo dodane';
  38. }
  39. }
  40.  
  41. $view->fetch();
  42. }
  43.  
  44. ?>


Jak widać jest to nie estetyczne rozwiązanie. Lepiej stworzyć formularz dzięki xml i napisać jakąś 1 klase sprawdzającą i walidującą pola a na koncu wyświetlenie błędów.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 02:59