ďťż

[PHP] Obiekty a statyczne metody i zmienne Jaka różnica?

       

Podstrony


telcocafe

Jakie są zalety tworzenia obiektu klasy? Jeśli nie potrzebujemy wielu instancji, równie dobrze można operować na statycznych klasach i metodach. Właśnie tworzę klasę widoku do obsługi szablonów, czyli przekazywania tablic z danymi, wyświetlania informacji, strony 404, itd. (oczywiście to wszystko jest przechowywane w klasie, aż layout zażąda wyświetlenia zawartości).
class Content { static $title; public static nazwaFunkcji() { ... } } Content::$title = 'Lista użytkowników';Zalety: + nie trzeba tworzyć instancji klasy, + dostęp do zmiennych nawet w funkcjach bez $GLOBALS[]...

PS. Będę miał wyrzuty sumienia, że stosuję dodatkowe obiekty (być może niepotrzebnie)...
Użytkownik Ferrari edytował ten post 27 styczeń 2008, 10:01



Jakie są zalety tworzenia obiektu klasy?
Zaletą jest "poprawne" programowanie obiektowe.

Prędzej czy później w procesie tworzenia aplikacji trafisz na potrzebę zastosowania tego samego obiektu kilka razy, za każdym razem "na czysto; nieużywanego". Wtedy staniesz przed wyborem: podzielić swoje modele na dwie kategorie - statyczne i dynamiczne (tylko po co potem pamiętać że ten obiekt jest taki, a ten siaki?) czy wszystko wrzucić do jednego i olewać "dobre" programowanie. Od biedy można używać zwykłe obiekty statycznie i to tylko notice wyrzuci...
Moim zdaniem jak masz dobry szkielet programu to sie nie musisz o nic martwić, po prostu ładujesz modele i je używasz. A ładować możesz tyle "czystych" instancji ile chcesz.
Nie sugeruj się za bardzo tą wydajnością. Obecnie serwery mają kilkadziesiąt GB ram, kilka/dziesiąt procesorów po 4 ghz. To naprawdę niewielka różnica gdy będziesz mial instancje obiektów a nie tylko statyczne wywołania. A o ile ładniejszy kod :)
I co to za problem "widzieć" normalne instancje obiektów wszędzie? Singleton jest od czegoś :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.