Wpis z mikrobloga

Mireczki spod tagu #programowanie #php - mam kolejne pytanie dotyczące fachowej literatury.

Poradzono mi, by zanim zacznę myśleć o frameworkach, w dobrym stopniu opanować programowanie orientowane obiektowo.
Mam za sobą kilka małych projektów PHP+MySQL z elementami Ajaxa (oraz podstawowe pojęcie o innych językach - C++, Python), jednak zawsze robiłem wszystko w oparciu o funkcje, starając się po prostu pisać kod taki, by móc go użyć ponownie.

Rozumiem na czym polega podejście obiektowe, jednak nie potrafię użyć go w czymś większym niż takie totalnie najprostsze programy.
Stąd też prośba - czy możecie polecić jakąś dobrą lekturę, która da mi nowe spojrzenie na ten temat, usystematyzuje wiedzę oraz sprawi, że kodzenie w taki sposób nie będzie "na siłę", tylko faktycznie ułatwi życie/da się lubić?

Książka sama w sobie nie musi dotyczyć PHP, może być "ogólna" (jak tytuły dotyczące algorytmów), jako że na tyle ile liznąłem innych języków (C++ dla przykładu), to widzę, że różnice są co najwyżej w składni i optymalizacji, natomiast samo podejście OO wygląda tak samo.

Będę bardzo, bardzo wdzięczny.
  • 6
Jak czujesz ze używasz obiektów na siłę to możliwe masz rację. Nie jest tak ze wszystko musi być koniecznie upchane w obiekty i bez nich jest "źle".

Najlepiej jak zaczniesz od bardzo prostych przykładów z frameworka którego chcesz się nauczyć. Wtedy rzeczywiście będziesz miał konkretny przykład po co obiekty i do czego są używane.
@Krople_do_nosa: po prostu to co używasz jako funkcje obecnie po prostu masz np w jednej klasie określonej, która ma określone zadanie - i w frameworku działa ona zazwyczaj jako serwis singleton - nie zawsze ale najczęściej - dzięki czemu znacznie łatwiej jest używać czegoś takiego bo większość frameworków phpa ma kontener i di - i sobie pobierasz ten serwis kiedy chcesz i korzytasz z niego zamiast pieprzyć się z jakimiś include('functions.php')
@Krople_do_nosa: Poczytaj o wzorcach projektowych - Head First: Design Patterns to bardzo przystępna książka (przykłady w java, ale skupia się na wzorcach, więc to prawie pseudo kod). Poza tym ogarniaj takie hasła jak: Dependency injection (DI container), SOLID principles (SRP, OCP, LSP, ISP, DIP), MVC (na tym blogu ładnie omówione podstawy), PRG (Post-Redirect-Get), anti-patterns*... im dalej w las tym więcej drzew.

*a propos tego co @Jurigag wyżej opisywał (z DI Container