Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z OOP, jak to zrozumieć ^^
thoran
post 13.09.2008, 13:53:30
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.07.2005

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


Zawsze skrypty tworzyłem za pomocą kodu strukturalnego. Po zapoznaniu się z OOP postanowiłem napisać coś z użyciem klas itd. jednak problem mam następujący gdyż nie rozumiem jak mam to zrobić. Wiem jak się tworzy klasy, do czego mogę ich użyć, konstruktory, metody itd są mi znane. Jednak problem pojawia się w momencie gdy muszę skleić z tego kod.

Czytałem wiele poradników o OOP i kazdy zawiera informacje co to jest, jak jest zbudowane itd. ale nigdzie nie ma słowa o filozofii implementacji.

Chciałbym napisać system CMS tylko w OOP i nie bardzo rozumiem jak mam sterować klasą bez użycia kodu strukturalnego.

Jak ja mam za pomocą OOP zastąpić strukturę:

  1. <?php
  2. if (isset($_GET['step']) && $_GET['step'] == 'robcos') print 'Robie cos';
  3. ?>


Ktoś mi powie ze napisze sobie klasę:

  1. <?php
  2.  
  3. class robota
  4. {
  5.  
  6.  
  7. public $cos;
  8.  
  9.    function __construct()
  10.    {
  11.  
  12.    $this -> cos = 'Robie coś';
  13.  
  14.    }
  15.    function wypisz()
  16.    {
  17.    print $this -> cos;
  18.    }
  19. }
  20. $nowa = NEW robota();
  21. $nowa -> wypisz();
  22.  
  23. ?>


No i wszystko si ale ja nie chce wyświetlać tego od razu tylko po kliknięciu w odpowiedni odnośnik. Jak to zrobić O.o

Ten post edytował thoran 13.09.2008, 13:55:02


--------------------
www.gildwars.pl
Go to the top of the page
+Quote Post
no_face
post 13.09.2008, 14:02:05
Post #2





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

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


W OOP nie zastepujesz instrukcji sterujacych, po prostu wiekszosc kodu jest logicznie (przewaznie) podzielona i umieszczona w klasach. Mozesz sprawdzic warunek i wykonac jakas metode.
Go to the top of the page
+Quote Post
thoran
post 13.09.2008, 14:08:00
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.07.2005

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


Cytat(no_face @ 13.09.2008, 13:02:05 ) *
W OOP nie zastepujesz instrukcji sterujacych, po prostu wiekszosc kodu jest logicznie (przewaznie) podzielona i umieszczona w klasach. Mozesz sprawdzic warunek i wykonac jakas metode.



No to na przykładzie. Mam tabelę z wiadomościami przypisanymi użytkownikowi.
Mogę napisać klasę która pobiera wiadomości, wyświetla, zapisuje itd. Ale jak ja mam sterować tym co chcę z nimi zrobić. Skąd klasa ma wiedzieć że ja chce pobrać dane albo je zapisać? Tego właśnie pojąc nie potrafię. Choć to zapewne proste.


--------------------
www.gildwars.pl
Go to the top of the page
+Quote Post
Cysiaczek
post 13.09.2008, 14:15:02
Post #4





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




Tym też steruje obiekt. Szukaj informacji na temat MVC i Frameworków. Obejrzyj kod i sposób pisania strony w np. frameworku Kohana.

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
thoran
post 13.09.2008, 14:18:44
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.07.2005

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


To głupie ale nie pomyślałem o tym. Czasem człek jak wpadnie w jeden tok myślenia to już koniec.

Dzięki.


--------------------
www.gildwars.pl
Go to the top of the page
+Quote Post
dr_bonzo
post 13.09.2008, 17:12:12
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


"Ale jak ja mam sterować tym co chcę z nimi zrobić." ... sterowac == kontrolowac ==> kontroler w MVC
Na podstawie URLa (router + front controller/dispatcher) wie co ma odpalic (jaki kontroler, np wyswietlanie wiadomosci), a sam kontroler zajmuje sie pobraniem odpowiednich wiadomosci, wiadomosci przekazuje dalej do widoku, itd.


--------------------
Nie lubię jednorożców.
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 Wersja Lo-Fi Aktualny czas: 16.06.2025 - 21:15