Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php obiektowe a www
Forum PHP.pl > Inne > Hydepark
snaiper
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
Levabul
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
Kinool
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
splatch
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ń.
aleksander
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!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.