PHP - kiedy obiektowo?

0

Witam!

Nie piszę na co dzień w PHP, ale znam ten język, uczyłem się go jakiś czas temu i chwilami mam z nim trochę styczności, ale nie na wysokim poziomie. Jeśli już, to zajmuję się prostą obsługą baz danych: dodawanie informacji do bazy, pobieranie ich, wyświetlanie na stronie, nic wielkiego. Jednak wszystko co do tej pory robiłem, odbywało się w sposób strukturalny. Po pewnych doświadczeniach chciałbym zapytać, kiedy powinno się pisać obiektowo w PHP, czy jeżeli robię coś prostego tak jak mówiłem, to czy jest już błędem pisanie tego w sposób inny niż obiektowy? Nie dawno pracowałem nad shoutboxem, PHP pobiera tam jedynie informacje z bazy lub je tam dodaje i nie działa to w sposób obiektowy wszystko, dlatego pytam, czy jest to błędem i kiedy, przy jakich projektach trzeba stosować podejście obiektowe?

Pozdrawiam!

0

To jest bardzo indywidualna kwestia. Generalnie jest tak, że im bardziej skomplikowany projekt, tym obiektowy PHP jest bardziej wskazany. Musisz jednak sam określić, czy będziesz wstanie zapanować nad np. 100 funkcji, czy lepiej utworzyć kilka klas.

0

Po prostu chciałbym uniknąć sytuacji, w której ktoś powie mi, że mój projekt jest nieprawidłowy, ponieważ nie jest wykonany w sposób obiektowy. Ale z tego co mówisz wynika, że dopóki projekt jest stosunkowo mały dopóty można tworzyć go w sposób strukturalny.

0

Zasadniczo masz rację - dopóki projekt jest mały, to można go pisać strukturalnie. Przyjdzie kiedyś jednak taki moment, że projekt się rozrośnie, i co wtedy? Wszystko będzie do przepisania?
Jeśli nie masz konkretnych powodów, żeby nie pisać obiektowo, to radziłbym się zainteresować tym, ułatwi dalszą drogę.

0

Wybór sposobu programowania nie ma nic wspólnego z poprawnością/niepoprawnością. Jeżeli nie jesteś jasnowidzem to nigdy nie wiesz jak bardzo projekt się rozwinie i na ile duży będzie w przyszłości. Moim zdaniem jeśli nie chcesz się narazić na zarzut braku profesjonalizmu to lepiej pisz obiektowo.

0

Myślę, że na razie zostanę przy strukturalnym podejściu. Nie tworzę przynajmniej teraz nic większego w PHP, ale widzę, że jednak nie ominie mnie przyjemność nauczenia się go od obiektowej strony. Bo chyba skrypt w PHP obsługujący logowanie/rejestrację w najprostszym wymiarze, można pisać strukturalnie. Generalnie uczę się cały czas Javy, ona wiadomo jest w pełni obiektowa, a sposób programowania obiektowego w tych dwóch językach zapewne się różni. Oprócz tego mam na studiach jeszcze C++, w którym też w końcu zaczniemy pisać obiektowo no i może się mieszać.

Dzięki za wasze opinie, mam nadzieję, że ktoś się jeszcze podzieli własnym zdaniem ;)

1

Podzielam wcześniejsze wypowiedzi. Jednakże jak masz chwilę wolnego czasu warto pomyśleć na początku nad prostszymi klasami, np obsługa bazy danych (połączenie, select, insert, update, delete, dodać PDO etc). W miarę rośnięcia aplikacji masz już solidny grunt i możliwość szybkiego przerobienia kodu. Nie musisz pamiętać, gdzie jaka funkcja była i co dokładnie robiła. Następnie klasa do logowania (o ile używasz). Później np klasa do wysyłania mail, nasępnie można pomyśleć nad html. Fajnie jest używanie np szablonów tj. Twig w Symfony FM czy Smarty. Oddzielają one kod html od php. Są banalne w instalacji oraz w użyciu w projekcie, a jednak utrzymuje się porządek. Pamiętaj wypisuj html wszędzie tam, gdzie się da w pętlach(lsty, tabele etc). Jak już nazbierasz trochę klas pomyśl o dodaniu __autoload(). A jeszcze wybiegając w przyszłość, napisz wszystko w MVC :)

0

@pavon147: obiektowość w php często jest używana bez sensu, byle było (czyli funkcje i tak prawie jak struktura, tylko popakowane w klasy). ale poprawne zastosowanie obiektowości daje bardzo wygodne efekty. pogrzeb sobie za klasami do obsługi połączenia z bazą (np. PDO, "wbudowane" [a w zasadzie dystrybuowane] już w php, choć nigdy go nie używałem tak naprawdę) - to naprawdę duże ułatwienie, które w jakiś sposób pokazało mi, że obiekty są do czegoś przydatne

0

Zalety programowania obiektowego
-Można łatwo modyfikować poszczególne klasy zwłaszcza kiedy nad projektem siedzi kilka osób
Wady programowania obiektowego
-Kod obiektowy działa wolniej niż kod struturalny.

I to się potwierdza np. Linux(jądro) został napisany w C(strukturalnie) bo jądro systemu operacyjnego musi być wydajne.

0

@tomi0001:
Jaka długa i poważna lista argumentów :D Znowu powiesz, że się Ciebie czepiam, no ale sorry..

  • Kod strukturalny można tak samo modyfikować w kilka osób, nie widzę tutaj żadnego powiązania.
  • Ułamki milisekund to nie jest coś godnego uwagi i straszenia słowej "wolniej". Dodatkowo nad dobrze napisanym kodem obiektowym łatwiej zapanować, ładować tylko odpowiednie elementy systemu i ostatecznie - wyjść na plus zarówno z czasem wykonywania jak i ze zużyciem pamięci.
0

Czy ktoś mógłby sie podzielić linkiem do booka pdf na temat programowania obiektowego w php. Mało tego jest w necie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1