Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Poprawnosc kodu wzorca MVC, i gdzie pisac widok?
adrianpl20
post
Post #1





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 20.02.2014

Ostrzeżenie: (10%)
X----


Witam. Zacząłem naukę o klasach i wzorcu MVC. Napisałem jako pierwsze takie "coś" w formie ćwiczenia. Prosiłbym o sprawdzenie tego kodu i o podpowiedzenie mi, czy poprawnie te klasy, metody oraz kod w nich, napisałem, i gdzie tworzy się widok? Tak jak teraz to zrobiłem w klasie View z wykorzystaniem switch'y, czy powinno się includować plik html z widokiem? Z góry dziękuję za pomoc.

index.php
  1. <?php
  2.  
  3. require_once 'classes.php';
  4.  
  5. ?>
  6.  
  7. <html>
  8. <head>
  9. <link rel="stylesheet" href="main.css" type="text/css" />
  10.  
  11. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  12. </head>
  13. <body>
  14.  
  15. <div class="page">
  16. <div class="top"></div>
  17.  
  18. <a href="?page=kontakt">Kontakt</a>
  19. <a href="?page=pomoc">Pomoc</a>
  20. <a href="?page=oferta">Oferta</a>
  21.  
  22. <?php
  23.  
  24. $controller = new Controller();
  25. $controller->load();
  26.  
  27.  
  28.  
  29. ?>
  30.  
  31. elo
  32. </div>
  33. </body>
  34. </html>


classes.php
  1. <?php
  2.  
  3. class Model {
  4.  
  5. }
  6. class View {
  7.  
  8. public function showPage($param) // protected
  9. {
  10. switch($param)
  11. {
  12. case 'kontakt':
  13. {
  14. echo '<div><b>Kontakt</b></div>';
  15. echo '<p>Jesli chcesz sie z nami skontaktowac napisz do nas na adres email</p>';
  16.  
  17. break;
  18. }
  19. case 'pomoc':
  20. {
  21. echo '<div><b>Pomoc</b></div>';
  22. echo '<p>Nie udzielamy pomocy, spierniczac.</p>';
  23.  
  24. break;
  25. }
  26. case 'oferta':
  27. {
  28. echo '<div><b>Oferta</b></div>';
  29. echo '<p>Oferujemy wszystko i nic, za darmo i drogo.</p>';
  30.  
  31. break;
  32. }
  33. }
  34. }
  35.  
  36. }
  37. class Controller {
  38.  
  39. private $page;
  40. private $view;
  41.  
  42. public function load()
  43. {
  44. $this->page = $_GET['page'];
  45. $this->view = new View;
  46.  
  47. switch($this->page)
  48. {
  49. case 'kontakt':
  50. $this->view->showPage('kontakt');
  51. break;
  52.  
  53. case 'pomoc':
  54. $this->view->showPage('pomoc');
  55. break;
  56.  
  57. case 'oferta':
  58. $this->view->showPage('oferta');
  59. break;
  60. }
  61. }
  62.  
  63. }
  64.  
  65.  
  66. ?>


Ten post edytował adrianpl20 20.02.2014, 12:57:07
Go to the top of the page
+Quote Post

Posty w temacie
- adrianpl20   Poprawnosc kodu wzorca MVC, i gdzie pisac widok?   20.02.2014, 12:50:34
- - nospor   Do kodu PHP uzywa sie BBCODE PHP. Prosze poprawic....   20.02.2014, 12:54:49
- - adrianpl20   Poprawione. Okej plik, rozumiem, a poza tym wszys...   20.02.2014, 12:58:50
- - Pyton_000   Google: "MVC php" 1-szy wynik: http://f...   20.02.2014, 13:26:27
- - adrianpl20   Coś tam "namazałem" od nowa, prosiłbym o...   22.02.2014, 14:38:47
- - Daimos   Pod tym linkiem, który teraz podałeś jest jakaś dz...   22.02.2014, 18:18:33
- - Pyton_000   @up trol? https://fs04n4.sendspace.com/dl/08a56df...   22.02.2014, 18:46:23
- - Daimos   no bez jaj Panowie, niedługo zaczną na chomiki wrz...   22.02.2014, 19:38:21
- - adrianpl20   Nie chciałem tworzyć w kij długiego postu, pomysla...   23.02.2014, 00:17:26
- - Posio   To do cholery wstaw kod, bo nikt tu lewych paczek ...   23.02.2014, 00:31:52
- - adrianpl20   Okej, proszę, kod: struktura katalogów: /controll...   23.02.2014, 00:39:12
- - Posio   jak pozamykasz wszystko w [/php] a nie [/code] to ...   23.02.2014, 00:52:21
- - adrianpl20   ok, poprawiłem, przeniosłem metodę loadView do wid...   25.02.2014, 00:43:22
- - Damonsson   Jak już masz controller.php i świeci pustkami, to ...   25.02.2014, 08:26:13
- - pyro   To z tym chciałeś pisać tego facebooka O_O ? Poza...   25.02.2014, 08:40:52
- - adrianpl20   Metoda loadView przecież jest w widoku, więc nie b...   25.02.2014, 09:02:09
|- - pyro   Cytat(adrianpl20 @ 25.02.2014, 09:02...   25.02.2014, 09:07:54
- - adrianpl20   założyłem, że header zawsze będzie taki sam na każ...   25.02.2014, 09:10:18
|- - pyro   Cytat(adrianpl20 @ 25.02.2014, 09:10...   25.02.2014, 09:11:41
- - Damonsson   CytatWięc ręcznie w każdym widoku trzeba będzie wp...   25.02.2014, 09:28:40
|- - pyro   Cytat(Damonsson @ 25.02.2014, 09:28:4...   25.02.2014, 09:33:45
- - adrianpl20   Usunąłem metodę loadView. Teraz zrobiłem tak: co...   28.02.2014, 15:58:16


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: 22.08.2025 - 02:39