Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wielki projekt pisany obiektowo - BigDeal
Kloc
post
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 8
Dołączył: 8.06.2014

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


Trzeba w końcu coś poczynić i muszę zaczerpnąć rady (IMG:style_emoticons/default/biggrin.gif) .
Czy tak obiektowa struktura może zostać nazwana obiektową, czy też inaczej to się robi?

Oto mój szablon html:
  1. <!doctype html>
  2. <head>
  3.  
  4. <title>OOP</title>
  5. <meta charset="UTF-8"/>
  6. <link rel="stylesheet" href="plikcss.css" type="text/css"/>
  7.  
  8. </head>
  9.  
  10. <div id="container">
  11.  
  12. <ul id="menu"> <!-- STALA CZESC STRONY -->
  13. <li>menu 1</li>
  14. <li>menu 2</li>
  15. <li>menu 3</li>
  16. </ul>
  17.  
  18. <div id="center_block">
  19. To jest treść stale zmienna <!-- ZMIENNA CZESC STRONY -->
  20. </div>
  21.  
  22. <div id="footer"> <!-- STALA CZESC STRONY -->
  23. Stopka mojej strony
  24. </div>
  25.  
  26. </div>
  27.  
  28. </body>
  29. </html>


A tu zrobiony obiektowo:
  1. <?Php
  2.  
  3. class Szablon{
  4.  
  5. public function Szablon_gora(){
  6.  
  7. ?>
  8.  
  9. <!doctype html>
  10. <html>
  11. <head>
  12.  
  13. <title>OOP</title>
  14. <meta charset="UTF-8"/>
  15. <link rel="stylesheet" href="plikcss.css" type="text/css"/>
  16.  
  17. </head>
  18. <body>
  19.  
  20. <div id="container">
  21.  
  22. <ul id="menu"> <!-- STALA CZESC STRONY -->
  23. <li>menu 1</li>
  24. <li>menu 2</li>
  25. <li>menu 3</li>
  26. </ul>
  27.  
  28. <div id="center_block">
  29.  
  30. <?Php
  31.  
  32. }
  33.  
  34. ?>
  35. To jest treść stale zmienna <!-- ZMIENNA CZESC STRONY -->
  36.  
  37. <?Php
  38.  
  39. public function Szablon_dol(){
  40.  
  41. ?>
  42.  
  43. </div>
  44.  
  45. <div id="footer"> <!-- STALA CZESC STRONY -->
  46. Stopka mojej strony
  47. </div>
  48.  
  49. </div>
  50.  
  51. </body>
  52. </html>
  53.  
  54. <?Php
  55.  
  56. }
  57.  
  58. }
  59.  
  60. /*
  61. Wywołanie klasy
  62.  
  63. $szablon = new Szablon;
  64. $szablon->Szablon_gora();
  65. $szablon->Szablon_dol();
  66. */
  67.  
  68. ?>


I teraz aby stworzyć nową podstronę robię tak:
  1. <?Php
  2.  
  3. $szablon = new Szablon;
  4. $szablon->Szablon_gora();
  5.  
  6. ?>
  7.  
  8. To jest treść jakiejs podstrony, la la lalala la lala la... <!-- ZMIENNA CZESC STRONY -->
  9.  
  10. <?Php
  11.  
  12. $szablon->Szablon_dol();
  13.  
  14. ?>


Czyli wywołuje stałe części strony, a dodaję nową zmienną część. W przypadku gdy szablon mi się nie podoba to edytuję 1 plik z klasą szablonu, a nie 20 osobnych z podstronami.
Czy tak to powinno wyglądać, jakieś sugestie, rady?
Pozdro (IMG:style_emoticons/default/guitar.gif) (IMG:style_emoticons/default/oneeyedsmiley02.png)

Ten post edytował Kloc 27.12.2014, 13:19:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


jebłem (IMG:style_emoticons/default/sciana.gif)
Zobacz jak to wygląda w MVC
Go to the top of the page
+Quote Post
Kloc
post
Post #3





Grupa: Zarejestrowani
Postów: 115
Pomógł: 8
Dołączył: 8.06.2014

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


Moje rozwiązanie jest:
-proste/przejrzyste (choćby dla mnie)
-łatwe w edycji
-skuteczne

Jakie są wady, że powinno to wyglądać inaczej?
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


To co tu zrobiłeś możesz wykonać przez jakikolwiek system szablonów osadzajac inne jego części. W takiej postaci kompletnie bez sensu.
Go to the top of the page
+Quote Post
tzm
post
Post #5





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

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


Cytat(Turson @ 27.12.2014, 13:27:41 ) *
jebłem (IMG:style_emoticons/default/sciana.gif)
Zobacz jak to wygląda w MVC



Mimo ze wulgaryzm i tego nie popieram na forum, w tym przypadku

(IMG:http://zgadzetemwpodrozy.files.wordpress.com/2013/02/1.jpg)
Go to the top of the page
+Quote Post
ohm
post
Post #6





Grupa: Zarejestrowani
Postów: 623
Pomógł: 144
Dołączył: 22.12.2010

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


To, że tworzysz jedną klasę i wywołujesz jej metody, to nie znaczy że jest to od razu programowanie obiektowe.

https://pl.wikipedia.org/wiki/Programowanie...atu_obiektowego

Go to the top of the page
+Quote Post
fr33d0m
post
Post #7





Grupa: Zarejestrowani
Postów: 132
Pomógł: 4
Dołączył: 22.10.2010

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


Masz tok myślenia do pisania strukturalnego, zamiast:
  1. $szablon = new Szablon;
  2. $szablon->Szablon_gora();

wstaw include(); i wyjdzie na PLUS (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Kloc
post
Post #8





Grupa: Zarejestrowani
Postów: 115
Pomógł: 8
Dołączył: 8.06.2014

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


W dużym uproszczeniu jak ja widzę MVC.

  1. <?Php
  2.  
  3. class Model{
  4.  
  5. public function function_model(){
  6. //Tutaj na podstawie info z Controller sprawdzam i pobieram dane, które należy wyświetlić
  7. //Przypisuje dane np. do odpowiednich zmiennych
  8. //I wywypłuje View
  9. }
  10.  
  11. }
  12.  
  13. class View{
  14.  
  15. public function function_view(){
  16. //Pokazyje odpiwedni widok (html) z przypisanymi danymi
  17. }
  18.  
  19. }
  20.  
  21. class Controller {
  22.  
  23. public function function_controller_url(){
  24. //Tutaj dostaje parametr z np. $_GET
  25. //I wywołuje Model
  26. }
  27.  
  28. }
  29.  
  30. /*
  31. Wywołanie klas
  32.  
  33. $model = new Model;
  34. $model->function_model();
  35.  
  36. $view = new View;
  37. $view->function_view();
  38.  
  39. $controller = new Controller;
  40. $controller->function_controller_url();
  41. */
  42.  
  43. ?>


Czy idę w dobrym kierunku?

Ten post edytował Kloc 29.12.2014, 14:15:09
Go to the top of the page
+Quote Post
Turson
post
Post #9





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Nie do końca. To kontroler powinien mieć kontrolę nad tym co przesyłać do widoku i co renderować a nie model. Pobierz i sprawdź pierwszy lepszy framework (z tych "nowszych").
http://anantgarg.com/2009/03/13/write-your...amework-part-1/
Go to the top of the page
+Quote Post

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: 25.08.2025 - 16:26