Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MVC pytanie lopatologiczne
pitos
post 19.06.2007, 08:36:44
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.06.2007

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


Pytam bo sie juz pogubilem z tym MVC przeczytalem wszystkie artykuly i posty na php.pl

Zrobilem tak

index.php
  1. <?php
  2. if($_REQUEST['action']){
  3. require_once('actions/'.$_REQUEST['action'].'_action.php');
  4.  
  5. $action = new $_REQUEST['action'];
  6. $action->$_REQUEST['method'];
  7.  
  8. $smarty->assign('');
  9. $smarty->display();
  10.  
  11. }
  12. ?>


index tworzy kontroler i uruchamia metode

  1. <?php
  2. class soccer_score extends controller{
  3.  
  4. public function show_league_score(){
  5. require_once('/model/soccer_score_model.php');
  6. $mv = new show_league_score();
  7. $mv->show_league_score();
  8. }
  9. }
  10. ?>

w modelu soccer_score_model.php
  1. <?php
  2. class modelAndView
  3. {
  4. private $db;
  5. private $_model;
  6. private $_view;
  7.  
  8. public function __construct()
  9. {
  10. $this->db = sPdo::getInstance;
  11. }
  12.  
  13. public function getModel()
  14. {
  15. return $this->_model;
  16. }
  17. public function setModel($model_arr)
  18. {
  19. $this->_model = $model_arr;
  20. }
  21. public function addToModel($arr_key, $model_value)
  22. {
  23. $this->_model[$arr_key] = $model_value;
  24. }
  25. public function setView($view)
  26. {
  27. $this->_view = $view;
  28. }
  29. public function getView()
  30. {
  31. return $this->_view;
  32. }
  33. }
  34. ?>

  1. <?php
  2. class soccer_score_model extends modelAndView{
  3.  
  4. public function show_league_score(){
  5. $this->addToModel('game',$this->get_game());
  6. }
  7.  
  8. public function get_game(){
  9. $query = $this->setQuery();
  10. $stmt = $this->db->query($query);
  11. return $stmt->fetchAll();
  12. }
  13. }
  14. ?>

Za widok uzywam Smarty
i teraz nie wiem czy dobrze robie bo nie wiem jak pobrac dane z modelu w index.php
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
sticker
post 19.06.2007, 08:48:57
Post #2





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


wg mnie to kontroler wywołuje widok na podstawie wywołanej metody w kotrolerze. U Ciebie jest tak jakbyś wiedział co wyświetlić zanim cokolwiek zostanie przez skrypt zrobione


--------------------
Go to the top of the page
+Quote Post
Reigon
post 19.06.2007, 09:03:04
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 19.10.2004

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


Zwroc kontener ModelAndView z wykonywanej akcji do kontrolera glownego. Nie widze gdzie tworzysz ModelAndView, ale chyba go zapomniales utworzyc....w Twoim przypadku z show_league_score
Wtedy kontroler bedzie mogl sie odniesc do tego samego kontenera ModelAndView i pobrac sobie widok i szablon (wczesniej ustawiony np. w tej samej akcji).

Widze natomiast, ze niepotrzebnie dziedziczysz z typowego kontenera, ktory ma za zadanie przechowywac dane...
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:45