Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MVC - pierwsze kroki :)
sanchoo
post
Post #1





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


Witam!... pisze pierwsza swoja apliakcje w MVC... nie do konca czuje sie w tym dobrze winksmiley.jpg Tzn nie jestem pewny czy dobrze rozumiem to zagadnienie. WIDOK:
  1. <?php
  2. class view
  3. {
  4. public function __construct()
  5. {
  6. global $control;
  7. global $smarty;
  8. $tytul=stripslashes($control->getName());
  9. $opis=stripslashes($control->getOpis());
  10. $color=$control->getColor();
  11. //$zawartosc=$control->zawartosc;
  12. $smarty->assign('title', $tytul);
  13. $smarty->assign('tytul_img', $tytul); // obrazek do dzialu
  14. $smarty->assign('tytul_tekst', $opis); //opis na brazowym pasku
  15. $smarty->assign('color', $color); //color tla zawartosci
  16.  
  17.  
  18.  
  19. $smarty->assign('tpl_name', $tytul); //jaki plik podpiac?
  20.  
  21.  
  22.  
  23. $smarty->display('ramka.tpl');  //odpalenie ramki (include zawartosc)
  24. }
  25.  
  26.  
  27.  
  28. }
  29. ?>


MODEL:
  1. <?php
  2. class model extends SourceFactory //SourceFactory do obslugi bazy db
  3. {
  4. public function __construct()
  5. {
  6. echo "MODEL"; //:P //dla picu
  7. }
  8.  
  9. function name_dzial($id) //pobiera z bazy nazwe dzilau, opis i kolor tla zawartosci 
  10. {
  11. $sql="SELECT * FROM `services_name` where id_name=".$id;
  12.  
  13. $data=SourceFactory::_getSourceCol($sql);
  14.  
  15. if($data === false)
  16. {
  17. echo "Nieprawidłowe zapytanie SELECT w metodzie open(): ".$data;
  18. }
  19.  
  20.  return $data;
  21.  
  22.  
  23.  
  24. }
  25.  
  26.  
  27. function logowanie ($login, $pass) //sprawdza jakie prawa ma user (sesje trzeba zrobic :))
  28. {
  29. $sql="SELECT `services_prawa` FROM `user` WHERE `login` LIKE '".$login."' AND `password` LIKE '".$pass."' LIMIT 1";
  30.  
  31. $data=SourceFactory::_getSourceRow($sql);
  32.  
  33. if($data === false)
  34. {
  35. echo "Nieprawidłowe zapytanie SELECT w metodzie logowanie(): ".$data;
  36. }
  37. return $data;
  38.  
  39. }
  40. ?>


controler:
Do teogo sa przekazywane zmienne bezposrednio:
  1. <?php
  2. class control{
  3. private $name;
  4. private $opis;
  5. private $zawartosc;
  6. private $prawa; //0- nie zalogowany, 1- user 2-admin
  7. private $color; //kolor tla zawartosci
  8.  public function __construct($dzial=0, $id=0)
  9.  {
  10.  global $model;
  11. $name = $model->name_dzial($dzial);
  12. $this->setName($name[1]);
  13. $this->setOpis($name[2]);
  14. $this->setColor($name[3]);
  15.  
  16. if($id==1) $model->logowanie(); //jesli jestem w your images sprawdza logowanie - dolozyc sprawdzanie sesji... musi sie wylogowac aby mogl sie logowac ponownie :)
  17.  
  18.  
  19.  }
  20.  
  21.  
  22. ?>


co do global $jakasklasa (prosze bez komentarza nie bedzie tego winksmiley.jpg)

Mysalem zeby dodac jeszcze jedna klase do filtrowania rpzychodacych zmiennych i gdzie tworzona byla by z conrolera...
to sa dopiero "srogie" podstawy smile.gif Pytanie czy w dobrym kierunku ide smile.gifquestionmark.gif

Ten post edytował sanchoo 7.08.2007, 08:19:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Wybacz - pierwsze, co zobaczyłem, to łowo global w kodzie.

Temat: MVC kilka pyta teoretycznych
http://forum.php.pl/MVC_pierwsze_kroki_i_p...del_t71238.html
http://forum.php.pl/php_MVC_Lancuszek_akcj...cji_t71914.html
http://forum.php.pl/MVC_Owieranie_kontrole...ego_t69493.html

Co do zmiennych globalnych:
http://forum.php.pl/Rejestr_vs_Singleton_v...bal_t73451.html

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Cezar708
post
Post #3





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Cytat(sanchoo @ 7.08.2007, 07:14:49 ) *
co do global $jakasklasa (prosze bez komentarza nie bedzie tego winksmiley.jpg)


Cytat(Cysiaczek @ 7.08.2007, 09:12:24 ) *
Wybacz - pierwsze, co zobaczyłem, to łowo global w kodzie.


tongue.gif

ale fakt... lepiej jest używać myConfig::zmienna zamiast global zmienna
Go to the top of the page
+Quote Post
sanchoo
post
Post #4





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


Znalazlem na forum ze model rpzekazuje do widoku dane:)No... bez sensu.. powiedzmy ze kiedys model przenosze do innej apliakcji wtedy musze go edytowac...W tej chwili mam tak ze odpowiendi kontlorer pyta modela "User Jasiek kiedy ostatnio sie zalogowal" na to model return "06-16-6666". Contlorer o ok zapisuje to w $ostatniozalogowany. Na koncu odpalam odpowiedni widok który odwołuje się do smartów. dochodze do assign('ostatnia_rejestracja', $contlorer->getCzas()) (potrzebuje czasu to sobie go pobiore/ewentualnie tworzyc widok z parametrami)Takie rozwiazanie wydaje mi sie bardziej sensowne niz:Contlorer pyta model kiedy ostanio ktos by zalogowany a ten wrzuca to do widoku np $widok->setCzas($data);czy jakos zle to rozumiem..questionmark.gif

Ten post edytował sanchoo 13.08.2007, 11:45:49
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 Aktualny czas: 20.08.2025 - 09:59