Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Programowanie obiektowe, praktyczny prosty kurs
Forum PHP.pl > Forum > PHP
Mistyficate
Cześć, od tygodnia ponownie zgłębiam wiedzę na temat programowania PHP. Niestety utknąłem na programowanie obiektywnym. Przeczytałem już parę kursów na ten temat, jak również posiadam tutorial Kurs PHP5 - Techniki Pracy, niestety wciąż nie jest to jasne. Rozumiem że używanie klas itp. doje lepszą przejrzystość kodu, łatwość w dalszej jego obróbce, ale jak z tego w praktyczny sposób korzystać? Każde źródło podaje słowami wstępu ładne wyjaśnienie dlaczego i po co to robić, aż nagle rzucają nas na głęboką wodę bez szczegółowych objaśnień. Przechodzą od spraw prostych do naprawdę złożonych.
Czy ktoś z wam może mnie nakierować jak powinienem się za to zabrać? Powinienem brnąć w programowanie strukturalne (co jest zasadniczo prostą sprawą), czy też od początku zabierać się za obiektowe?
Dodam również, iż w parę lat temu miałem już styczność z programowaniem strukturalnym, więc nie jest to rzeczą nową.
rad11
Cytat
Rozumiem że używanie klas itp. doje lepszą przejrzystość kodu, łatwość w dalszej jego obróbce, ale jak z tego w praktyczny sposób korzystać?


Tak miedzy innymi OOP pomaga utrzymac porzadek w kodzie jak i latwiejsze modyfikacje wraz z rozszerzaniem funkcjonalnosci. W praktyczny sposob w dzisiejszych czasach uzywa sie tego przy pomocy Frameworkow ale nic nie stoi na przeszkodzie aby pisac samemu klasy itd.

Cytat
Czy ktoś z wam może mnie nakierować jak powinienem się za to zabrać?


Przerob wiele kursow na necie. Postaw sobie cel. Zrealizuj go.

Cytat
Powinienem brnąć w programowanie strukturalne (co jest zasadniczo prostą sprawą), czy też od początku zabierać się za obiektowe?


Strukturalnie sie juz nie pisze(oczywiscie jezeli piszesz cos od poczatku co innego jak musisz grzebac w czyims kodzie ktory jest napisany strukturalnie). Bierz sie za OOP, wzorce projektowe i potem frameworki i napewno wyjdziesz na ludzi.
Xelah
Ja osobiście polecałbym jednak OOP. Nie żeby procedural nie miał swoich zalet, ale mimo wszystko jednak OOP jest w PHP lepszym pomysłem.

Poczytaj sobie na przykład to:
http://www.phptherightway.com/

Zapoznaj się też dokładnie z dokumentacją PHP odnośnie OOP. Nie chodzi o nauczenie się jej na pamięć, ale o przeczytanie tego, co tam jest. Tak, żebyś miał ogólne pojęcie co jest dostępne i w razie problemów wiedział gdzie w pierwszej kolejności uderzyć po pomoc.

Skoro dopiero zaczynasz to na pewno dobrą radą będzie od razu zapoznać się z TDD i PHPUnit (https://phpunit.de/). Nie mówię tutaj o trzymaniu się TDD w 100% (czyli najpierw test a potem kod). Moższ napisać najpierw klasę albo dwie, ale od razu po tym musisz napisać testy. Jeśli będziesz się tego trzymał, to pewne rzeczy przyjdą Ci łatwiej, bo testy wymuszają na programiście pewne sposoby stosowania OOP, bez których test jest albo niemożliwy, albo do tego stopnia trudny, że już sam ten fakt daje do myślenia i kończy się refactoringiem.

Poczytaj o SOLID (na przykład tutaj: http://code.tutsplus.com/tutorials/solid-p...ple--net-36074). To jedna z podstawowych rzeczy, którą musisz znać.

I na pewno nie zaczynaj od frameworków. Bo jedyne, czego się nauczysz, to jak się coś robi w tym czy innym frameworku, a nie ja się w ogóle to robi. Jak popatrzysz na dokumentację choćby Symfony, to zobaczysz, że podane tam przykłady są często po prostu używaniem obiektów a nie programowaniem obiektowym. A i sam framework w wielu miejscach łamie SOLID (chociaż wcale nie musiał).
Nie chodzi o to, że framework to zło. Symfony jest na prawdę świetnym frameworkiem, ale jak się chcesz nauczyć programować to najpierw poznaj teorię i praktykę, a dopiero później decyduj czy (jeśli w ogóle) i jakiego frameworka używać.

Poszukaj w księgarni książek Robert-a C. Martin-a. Nie są o PHP ale zawarte tam wzorce i przykłady można w większości przypadków przenieść 1:1 do PHP.

Wybierz sobie jakiś projekt, który chciałbyś zrobić i zaczynaj. W tym samym czasie czytaj i pytaj jak nie jesteś czegoś pewien. Masz stack overflow, gdzie spokojnie znajdziesz doświadczonych ludzi, którzy Ci pomogą (Możesz też pytać tutaj, ale po niektórych odpowiedziach na tym forum mniemam, że nie dowiesz się niczego wartościowego).


Cytat(rad11 @ 12.06.2015, 17:06:39 ) *
...W praktyczny sposob w dzisiejszych czasach uzywa sie tego przy pomocy Frameworkow ale nic nie stoi na przeszkodzie aby pisac samemu klasy itd...

...i potem frameworki...


Chciałem coś mądrego napisać, ale że gorąco i nie chce mi się już myśleć to napiszę tylko tyle: WTF?
Mistyficate
Odnośnie SOLID, może coś po polsku? niby angielski mam opanowany dość dobrze ale jeszcze takiego typowego języka nie znam.
Xelah
Ja już od czasów studiów używan tylko angielskiego, ale jest trochę przetłumaczonych książek. Zobacz ten post: http://forum.php.pl/index.php?s=&showt...t&p=1160287

Druga na liście książka traktuje między innym o SOLID. Książki do najtańszych nie należą, ale są na prawdę pomocne.

Co do same angielskiego, to jest to jedna z rzeczy bardzo ważnych w IT. Tak to już się jakoś przyjęło, że angielski jest językiem IT i jeśli chcesz być na bierząco, mieć łatwy dostęp do dokumentacji i najnowszych materiałów albo pomocy na forach, to agielski to po prostu "must have". I nie ważne czy będziesz pracował za granicą albo z zagranicznymi klientami. Tak czy siak angielski potrzebny do życia w IT znać trzeba smile.gif
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.