Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]MVC dziedziczenie
Szymciosek
post
Post #1





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Czy któraś z klas: Model, View czy Controller powinna po sobie dziedziczyć ?
Pytam, bo widziałem przykłady bez dziedziczenia i z dziedziczeniem i wolę zapytać (IMG:style_emoticons/default/smile.gif)

Drugim pytaniem, na które też znalazłem kilka odpowiedzi to przełączanie widoków.
Uruchamiam index.php czyli ten podstawowy plik, a w nim uruchomienie kontrolera, który natomiast uruchamia model i widok...
Fajnie, ale co dalej ? Na razie mam zrobione www.xx.pl/index.php?view=contact i ta zmienna view jest sprawdzana w switch/case i tam mam include odpowiedni widok i uruchomienie klasy danego widoku
  1. case 'contact' :
  2. include_once('views/contact_view.php');
  3. $this->view = new Contact_View;
  4. break;


W view mam stworzone jakieś menu np
  1. private function createMenu()
  2. {
  3. echo '<a href="?view=index">Index</a><br />
  4. <a href="?view=contact">Contact</a><br /><hr />';
  5. }


Ale czy nie ma lepszego sposobu na to np przez pominięcie get czy coś ? Wiem, że jeszcze można ustawić routery na www.xx.pl/controller/action/param i wtedy tworzę kontrolery (ilość zależna od podstron), które uruchamiają różne widoki, ale to w formie takiego uproszczenia.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Szymciosek
post
Post #2





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7. <body>
  8.  
  9. <p>MVC PHP Test</p>
  10. <?php
  11. include('views/index_view.php');
  12.  
  13. class Pages
  14. {
  15. public $title;
  16.  
  17. public function __construct()
  18. {
  19. $this->title = $_GET['view'];
  20. $this->getPages($this->title);
  21. }
  22.  
  23. public function getPages($title)
  24. {
  25. // na podstawie $title uruchamiasz model, który pobiera jakieś dane, cokolwiek np. tablicę z menu
  26. // zapisujesz tę tablicę w zmiennej
  27. $menu = array(); //wiadomo że tu ma być coś w stylu $menu = getMenu(); aby model zwrócił return z tablicą
  28.  
  29. // przekazujesz te dane do widoku
  30. $view = new Index_View();
  31. //$view->add($menu);
  32. $view->add();
  33.  
  34. //i jak chcesz wyświetlasz
  35. $view->render();
  36. }
  37. }
  38.  
  39. $pages = new Pages;
  40.  
  41. //include_once("controllers/controller.php");
  42.  
  43. //$request = $_GET['view'];
  44. //$Controller = new Controller($request);
  45. ?>
  46.  
  47. </body>
  48. </html>


Tak ?

Tylko co dalej ?

Ten post edytował Szymciosek 26.06.2012, 16:21:09
Go to the top of the page
+Quote Post

Posty w temacie
- Szymciosek   [PHP]MVC dziedziczenie   26.06.2012, 12:40:54
- - nospor   CytatPytam, bo widziałem przykłady [....] z dziedz...   26.06.2012, 12:43:25
- - Szymciosek   http://www.phppatterns.com/docs/design/arc...troll...   26.06.2012, 12:45:32
- - nospor   1) Po kodzie widać że jest to bardzooooo stary kod...   26.06.2012, 12:52:30
- - Szymciosek   A co z przełączaniem widoków ? Jakie są sposoby na...   26.06.2012, 12:53:37
- - krzywy36   zdefiniuj "przełączanie widoków". Parsuj...   26.06.2012, 13:18:52
- - Szymciosek   Czyli całe parsowanie url musi się odbywać w index...   26.06.2012, 13:28:22
- - krzywy36   Wydaje mi się, że źle pojmujesz MVC. MVC to sama i...   26.06.2012, 13:35:13
- - Szymciosek   Czyli co ? MVC nie nadaje się do takich rzeczy jak...   26.06.2012, 13:43:44
- - !*!   CytatCzyli całe parsowanie url musi się odbywać w ...   26.06.2012, 13:47:23
- - Szymciosek   Nie buduję FW , ale chciałem po prostu za pomocą M...   26.06.2012, 13:58:00
- - !*!   Tak, GET to najprostsze wyjście. Jednak to co prez...   26.06.2012, 14:00:58
- - krzywy36   Cytat(Szymciosek @ 26.06.2012, 14:43...   26.06.2012, 14:02:39
- - !*!   CytatHmm, $_GET i routery, nie rozumiem za ba...   26.06.2012, 14:06:32
- - Szymciosek   !*!, gdzie mam w takim razie tworzyć menu ...   26.06.2012, 14:08:50
- - !*!   Nie znajdziesz dokładnego opisu MVC, bo MVC jest t...   26.06.2012, 14:16:58
- - Szymciosek   To może chociaż jakieś przykłady z życia wzięte ? ...   26.06.2012, 14:42:10
- - !*!   http://phpedia.pl/wiki/MVC   26.06.2012, 14:58:10
- - Szymciosek   To widziałem w sumie, ale czy to się jakoś nadaje ...   26.06.2012, 15:03:38
- - !*!   CytatTo widziałem w sumie, ale czy to się jakoś na...   26.06.2012, 15:06:56
|- - Szymciosek   Cytat(!*! @ 26.06.2012, 16:06...   26.06.2012, 15:12:59
- - !*!   Widzisz, za bardzo kombinujesz i nie widzisz ideii...   26.06.2012, 15:22:05
- - Dipter   Musisz wybrać inną logikę całej tej aplikacji, bo ...   26.06.2012, 15:25:40
- - Szymciosek   Na FW myślę, że za wcześnie jeszcze... Brałem się ...   26.06.2012, 15:29:09
- - Dipter   CytatNp jakie inne wzorce ? Nie chcę dużego FW, ch...   26.06.2012, 15:36:20
- - !*!   Zobacz sobie CodeIgniter, chyba najprostszy FW jak...   26.06.2012, 15:41:08
- - Szymciosek   Na razie zostańmy przy samej czystej stronie z tre...   26.06.2012, 15:42:00
- - !*!   Implementacja MVC do takich prostych rzeczy jest p...   26.06.2012, 15:45:31
- - Szymciosek   Tak view to widok, a o czym pisaliśmy na początku ...   26.06.2012, 15:52:45
- - !*!   GEt nie może być widokiem, ani modelem. Czytaj uwa...   26.06.2012, 15:58:13
- - Szymciosek   Mógłbyś jakiś przykład całego mvc dać ? Skąd Pages...   26.06.2012, 16:01:57
- - !*!   Pages to kontroler, View to przykładowo Twoja klas...   26.06.2012, 16:04:46
- - Szymciosek   [PHP] pobierz, plaintext <!DOCTYPE html PUBLIC ...   26.06.2012, 16:20:55
- - krzywy36   popatrz na ten kod i zastanów się czy logika progr...   26.06.2012, 17:01:18
- - Szymciosek   Krzywy, próbuję to ogarnąć, dopiero teraz, ale jak...   26.06.2012, 17:58:37
- - !*!   CytatTak ? Tylko co dalej ? A gdzie odwołałeś si...   26.06.2012, 18:34:48
- - Szymciosek   Witam ponownie, siadłem i stworzyłem coś takiego: ...   26.06.2012, 19:25:36
- - krzywy36   tak na szybko: [PHP] pobierz, plaintext if ($u...   26.06.2012, 19:41:08
- - Szymciosek   A reszta jak ? Dobrze już to by było takie coś ? C...   26.06.2012, 19:46:58
- - krzywy36   dziwnie widoki obsługujesz, ale to juz wizja progr...   26.06.2012, 19:57:54
- - Szymciosek   Co do Twojego template, to też widziałem takie kla...   27.06.2012, 11:48:59


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: 13.10.2025 - 12:53