Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Podjąłem decyzje -> przechodze na OO
become
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 12.01.2007

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


Licze na waszą pomoc. Zalezaloby mi rowniez na wymianie kontaktów.
Bardzo szybko sie uczę, wiec nie trzeba mi wiele razy coś tłumaczyć.

Do te pory stosowałem MVC. To znaczy w sensie logicznym, bo jednak stosowałem programowanie proceduralne.
Nadszedł jednak moment, aby przejść ciut wyzej.

Nie ma to jak nauka na przykladach. Wzialem pierwszy prostszy przyklad. Chodzi mi logiczny przepływ informacji pomiędzy obiektami.

Założenia:
Mamy Artykuł, Autor, Lista zajawek artykułu danej Kategori, Lista artykułów, komentarze artykułu. Oceny artykulu.

Artykul to:
data, tytuł, wstep, tresc, itp.

Autor to:
imie, nazwisko, hobby itp.

Teraz: Autor pisze artykuł. Jak powiazac te 2 obiekty ze sobą ?
Artykul ma komentarze i oceny. Jak stworzyc i powiazac te 2 klasy ?

Wiem, ze mozna zrobic zajawke artykulu, która bedzie zawierac tylko tytul, wstep i autora. Nastepnie ta zajawke mozna rozszerzyc na klase Artykul, ktora to klasa bedzie zawierac wszystko.
Lista artykulow to moze byc klasa, ktora zwraca np. tablice obiektow "zajawka".

Którą z tych ksiażek warto przeczytać w pierwszej kolejnosci ?

PHP5 Zaawansowane programowanie.
Projektowanie zorientowane obiektowo. Wzorce projektowe.
Programowanie zorientowane obiektowo. Wydanie II.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
matix
post
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


Pierwsza moja uwaga, to na OOP się nie przechodzi przez podjęcie dezycji, tylko poprzez wieksze doświadczenie z PHP i większym rozumieniem teorii - to kazdy musi przeżyć, kto ma zamiary trochę wgłębić się w tajniki programowania ;>

Ogólnie jak mówisz o tych tutaj powiązaniach to to nie ma nic wspólnego z PHP/ MVC tylko bardziej z zapytaniem SQL (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Jeśli chodzi o jakieś luźniejsze powiązania to możesz to zrobić np tak:

  1. <?
  2. class model {
  3. public function getUserData($sAuthor, $aParams)
  4. {
  5. $this->db->where('nick', $sAuthor);
  6. $this->db->select($aParams);
  7. return $this->db->get('users');
  8. }
  9.  
  10. public function getArticle($iKey)
  11. {
  12. $this->db->where('id', $iKey);
  13. $this->db->select('body');
  14. $aArticle = $this->db->get('articles');
  15.  
  16. return array($aArticle, $this->getUserData($aArticle->author, array('imie', 'nazwisko', 'ranga')));
  17. }
  18. }
  19.  
  20. class controller {
  21. public function article()
  22. {
  23. $iArticleId = $this->uri->segment(3); // pobierasz z routera np.. id
  24.  
  25. $this->load->model('model');
  26. $adata['query'] = $this->model->getArticle($iArticleId);
  27.  
  28. $this->load->view('articles_view', $adata);
  29. }
  30. }
  31.  
  32. class view {
  33. public function articles_view($adata)
  34. {
  35. print_r($adata);
  36. }
  37. }
  38. ?>


Nie wiem czy o to chodziło, ale myśle, że tak:) Przede wszystkim musisz se swój styl wyrobić. Każdy programista pisze inaczej (ja np. piszę [jak się wiele osób po tym kodzie domyśli] na Code Igniterze. [dodałem sobie klase View;p])

Btw. co do książek - kup sobie byle jaką, poczytaj, postudiuj, weź, ściągnij Frameworka i pracuj (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) W necie są video tutoriale do frameworków [pozdrawiam youtube.com (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ] więc nie ma problemu z zrozumieniem ich. Pozatym kazdy liczący się fw posiada dobry manual. Jak już zrozumiesz to wszystko, to kodź rózne serwisy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Btw. Nie rób frameworka, proszę cię, tego jest na kopy, a i tak korzysta się z tych najlepszych. Jest tyle wszystkich porządnych Fw (runy on rails[ruby], symfony, ci, django [python]) że na prawdę nie ma sensu robić nowego (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Ps2 - nie komentujcie tego co za frameworki wypisałem, od tego jest inny topic.

Uff, to się rozpisałem.

Pozdrawiam,
Matix (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
become
post
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 12.01.2007

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


dzieki za info, aczkolwiek to co napisales to nie to o co mi chodzilo. az tak do przodu nie wybiega (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

chodzilo mi o zaprojektowanie klas i zaleznosci pomiedzy nimi.
np. jak powinna wygladac prawidlowa zaleznosc pomiedzy klasa reprezentujaca artykul a reprezentujaca autora ?
Rozumiem, ze artykul zawiera wlasciwosc, ktora jest obiktem autor (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(become @ 18.11.2007, 16:59:46 ) *
Rozumiem, ze artykul zawiera wlasciwosc, ktora jest obiktem autor (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Dokładnie tak (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
sanchoo
post
Post #5





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


dyskusji na temat MVC na tym forum juz bylo sporo.. polecam poczytac. naprawde warto (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Przez 2 meisiace bylem przekonany ze uzywam MVC a wyszlo ze stosuje DAO (http://wortal.php.pl/wortal/artykuly/framework/frameworki_dla_php_czyli_wydajne_tworzenie_aplikacji_www/budujemy_wlasny_framework)
Powiem Ci jakie ja wnioski wyciagnolem z tego forum o MVC sprawa ejst prosta stosuj MVC nie 3ymajac sie sztywno zasad bo zeswirujesz.... kazdy ci powie co innego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
na webcity.pl chyba o mvc jest ciekawy artykul.. koniecznie porownaj go z DAO....
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: 23.08.2025 - 10:31