Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> php obiektowe a www
snaiper
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 20.12.2004

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


dobra mozecie sie smiac z tego pytania ale ja dalej nie wiem..
jak php obiektowe moze sie przydac do towrzenia www
co moge nim zrobic takiego czego nie moge przy pomocy zwyklych funkcji ?
narazie i tak jestem u podstaw OO wiec nie porobie zbyt wiele ale chcialbym wiedziec do czego te obiekty moga sie przydac przy tworzeniu WWW
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Levabul
post
Post #2





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

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


teoretycznie wszystko to co zrobisz za pomocą OOP możesz zrobić przy użyciu samych funkcji. Pisząc w OOP zyskujesz mniej kodu, przejżystość i co najważniejsze większą wygodę w programowaniu smile.gif


--------------------
Go to the top of the page
+Quote Post
Kinool
post
Post #3





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

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


hehe ja moze powiem tak:

to tak jak jazda samochodem mozesz jechac maluchem albo limuzyna ze skora i ogrzewanymi fotelami smile.gif

wprawdzie i jedno i drugie jezdzi smile.gif


--------------------
Go to the top of the page
+Quote Post
splatch
post
Post #4





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

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


Mówienie o OOP jako limuzynie bez uzasadnienia mnie nie przekonuje. Dlaczego? Dlatego, że w ten sposób nie można się rozpisywać na ten temat, bez porównania plusów i minusów.

Ja radziłbym autorowi tematu zajrzeć do jakiejkolwiek książki traktującej o programowaniu obiektowym w której w spisie jest "Kryzys oprogramowania" pisanego struktrulanie.. Ja ze swojej strony dodam, że obiekty pozwalają lepiej odwzorować rzeczywistość w programie. Obiekt może symbolizować osobę, wartość pieniężną, firmę.. cokolwiek. Tworząc klasy zaczniesz dostrzegać podobieństwa a wręcz dublujące się fragmenty kodu bez problemu tworzysz klasę bazową z której dziedziczą poprzednie, ot choćby przykład - kierownik i programista. Oboje są pracownikami, ale zajmują się różnymi sprawami. Zatem implementujesz różnice w klasach wyspecjalizowanych a pozostałe są umieszczone w Pracowniku. Co zyskujesz? Przejżystość. Kod łatwiejszy w utzymaniu. W strukturalce jest tak, że jedna zmiana kaskadowo pociąga kolejne zmiany, jedna zmiana wymusza drógą. W OOP tego nie ma. Zmieniasz jeden fragment a w pozostałych miejscach wszystko pozostaje po staremu. Jeśli musisz szukać miejsca gdzie poprawiasz drugi raz ten sam kod to znaczy, że źle wykorzystałeś OOP i powinieneś całość przemyśleć raz jeszcze.

Ogólnie, zwieńczę ten post tak - są o tym całe książki, nie da się tego opisać przy użyciu kilku zdań.


--------------------
Łukasz Dywicki
Independent Java and open source software consultant.
Blog - Java, OSGi, integracja oprogramowania..
Go to the top of the page
+Quote Post
aleksander
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


mały przykład z życia wzięty:

robię system obiektowych formularzy, gdzie każdy lement (input, textarea, form itd itp) jest reprezentowany przez osobną klasę. Każda klasa ma ponad 15 metod. A wiesz jak wyglądają?
  1. <?php
  2. class Input extends FormElement implements IOFPlugged
  3. {
  4. public function __construct( $aAttributes = array() )
  5. {
  6. $this->addAllowedAttributes( array(... ) );
  7. parent::__construct( $aAttributes );
  8. }
  9.  
  10. public function getCode()
  11. {
  12. $sReturn = '<input ';
  13. foreach( $this->aAttributes as $sKey => $sVal )
  14. {
  15. $sReturn .= $sKey . '="' . $sVal . '" ';
  16. }
  17. $sReturn .= '/>';
  18. $error = $this->getError();
  19. if( !empty( $error ) )
  20. {
  21. $sReturn .= $error;
  22. }
  23. return $sReturn;
  24. }
  25. }
  26. ?>
Wszystkie powtarzające się metody zaimplementowane są w FormElement. Nie uzyskasz czegoś takie piszac strukturalnie nie wspominając już o tworzeniu obiektów.

Ale OOP to nie jest pisanie w class XYZ. obiektówke trzeba "czuc" a do tego potrzeban jest praktyka. Czyli pisz pisz pisz! smile.gif
powodzenia!
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 Aktualny czas: 19.08.2025 - 21:55