Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]OOP'owe początki
Fanatyko
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 14.08.2010

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


Witam, zaczynam zabawę z OOP'em przy wykorzystaniu wzorca MVC. Czy kod poniżej jest poprawny, czy też nie ? Co zmienić, co robić, czego nie robić (ogólnie tak jakos (IMG:style_emoticons/default/winksmiley.jpg) )
Z czasem będę dodawał nowe pytania, bo zapewne na jednym się nie skończy

  1. <?php
  2.  
  3. $Controler = new GameController;
  4.  
  5.  
  6. class GameController
  7. {
  8. public function __construct()
  9. {
  10. if(isset($_GET['action']))
  11. {
  12. $strAction = $_GET['action'];
  13.  
  14. }
  15. else
  16. {
  17. $strAction = "statystyki";
  18.  
  19. }
  20. $objAction = new $strAction();
  21. $objAction->DoAction();
  22.  
  23.  
  24.  
  25. }
  26.  
  27. }
  28.  
  29. class ShowCharacter
  30. {
  31. public function DoAction()
  32. {
  33. $objModel = new CharacterModel();
  34. $arrCharacter = $objModel->GetCharacter();
  35.  
  36. foreach ($arrCharacter as $arrStatisctics)
  37. {
  38. echo "Sila: ".$arrStatisctics['strenght']." Zrecznosc: ".$arrStatisctics['agility']."";
  39. }
  40.  
  41. return null;
  42.  
  43. }
  44.  
  45. }
  46.  
  47. class CharacterModel
  48. {
  49. public function GetCharacter()
  50. {
  51. return array(array( 'strenght' => 15, 'agility' => 20)) ;
  52. }
  53.  
  54.  
  55. }
  56.  
  57.  
  58.  
  59. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fanatyko
post
Post #2





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 14.08.2010

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


  1. <?php
  2.  
  3.  
  4. class GameController
  5. {
  6. public function ShowChar()
  7. {
  8. $View = new View();
  9. $View->SetModel(new GameModel);
  10. return $View;
  11.  
  12. }
  13. }
  14.  
  15. class View
  16. {
  17. public function SetModel($model)
  18. {
  19. $this->Model = $model;
  20. }
  21.  
  22. public function SetTemplate($template)
  23. {
  24. $this->Template = $template;
  25. }
  26.  
  27. public function Show()
  28. {
  29. $Data = $this->Model;
  30. $this->Char = $Data->GetChar();
  31. $this->SetTemplate('table');
  32. include ('' . $this->Template . '.php');
  33. }
  34.  
  35. }
  36.  
  37. class GameModel
  38. {
  39. public function GetChar()
  40. {
  41. return array(array( 'strenght' => 15, 'agility' => 20)) ;
  42.  
  43. }
  44.  
  45.  
  46. }
  47.  
  48. $GameController = new GameController();
  49. $Result = $GameController->ShowChar();
  50.  
  51. if ($Result instanceof View)
  52. {
  53. $Result->Show();
  54. }
  55.  
  56.  
  57. ?>


Wymodziłem coś takiego, większość zerżnięta od Crozina ;D

Luneth dzięki za ten post, pomógł i to bardzo.

I jak mi wyszło ?
Go to the top of the page
+Quote Post

Posty w temacie
- Fanatyko   [PHP]OOP'owe początki   14.08.2010, 18:00:40
- - Pawel_W   po 1: [PHP] pobierz, plaintext if(isset...   14.08.2010, 18:06:26
- - Fanatyko   1.Ok dzięki, zaraz to poprawię. 2.Jakiś przykładzi...   14.08.2010, 18:12:31
- - Pawel_W   2. http://bukox.pl/php/wzorce-projektowe-factory/ ...   14.08.2010, 18:20:31
- - Fanatyko   OK, dziękuje. Potestuję sobie to co podrzuciłeś. Z...   14.08.2010, 18:26:12
- - Crozin   1) Twój kod nie ma wiele wspólnego z MVC - brak w ...   14.08.2010, 18:31:26
- - Pawel_W   wyszedłem z założenia, że każda postać będzie miał...   14.08.2010, 18:40:27
- - Crozin   Model ma się zajmować swoim zadaniem: ma udostępni...   14.08.2010, 19:04:03
- - Fanatyko   CytatTwój kod nie ma wiele wspólnego z MVC - brak ...   14.08.2010, 19:47:10
- - Crozin   Widok nie tworzy sam sobie modelu - to kontroler i...   14.08.2010, 22:21:25
- - Luneth   Jedyne dziedziczenie jakie mi przychodzi tutaj na ...   15.08.2010, 02:56:14
- - Fanatyko   @Crozin ok, chyba załapałem @Luneth dzięki, przyd...   16.08.2010, 20:22:03
- - Crozin   http://forum.php.pl/index.php?s=&showt...st...   16.08.2010, 20:26:53
- - Luneth   Po prostu wszystko dzielisz na trzy kategorie: ope...   16.08.2010, 22:28:12
- - Fanatyko   [PHP] pobierz, plaintext <?php class GameContr...   17.08.2010, 11:27:45
- - Luneth   1. Jeśli robisz settery to ustal tym atrybutom jak...   17.08.2010, 12:03:19
- - Crozin   CytatTo właśnie programowanie strukturalne jest ta...   17.08.2010, 13:28:50
- - Luneth   Crozin: oczywiście, że programowanie strukturalne ...   17.08.2010, 14:56:56
- - Crozin   Chyba oboje się nie zrozumieliśmy... Myślałem, ż...   17.08.2010, 16:33:08
- - Luneth   A to faktycznie kompletne nieporozumienie nam wysz...   17.08.2010, 18:06:51


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: 23.08.2025 - 08:56