Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak nauczyć się pisać obiektowo w PHP?
Forum PHP.pl > Forum > Przedszkole
qrzysztof
Witam,

Poznałem trochę PHP, wiem też co to jest programowanie obiektowe i jakie wiążą się z nim korzyści.

Mimo wszystko odczuwam pewien niedosyt. Znacie jakieś dobre tutoriale pokazujące ideę OOP na przykładach?

Nie interesują mnie takie, które od podstaw będą tłukły co to jest klasa, co to jest metoda, o dziedziczeniu itd.. (na przykładzie zwierzątek, ptaszków i motylków).

Chodzi mi raczej o takie, które pokażą konkretne zastosowania, jak najrozsądniej utworzyć klasę bazy (to zależy też oczywiście od konkretnej sytuacji), klasę sesji, użytkownika itd... jak połączyć te klasy...

Mogę co prawda analizować dostępne w necie fragmenty kodu, ale jeśli nie będą poparte objaśnieniami to kawał żmudnej roboty. Może macie jakieś linki do praktycznych przykładów OOP? Kilka przykładów znalazłem w książce "PHP 5 i MySQL - Biblia" ale to mało.

Dzięki.
uirapuru
PHP5. Obiekty, wzorce, narzędzia. Niestety nie wydawana już i ciężko ją dorwać. Chyba, że macie jakieś źródło (kupno/pdf), to chętnie przyjmę również!
qrzysztof
Parę książek poruszających w mniejszym lub większym stopniu tematykę OOP w PHP jest. Ale to w 95% teoria.

A jak już pisałem tutoriale z serii "class świnka extends zwierzątko function merdaj_ogonkiem()" mnie nie interesują.

Utknąłem w moim projekcie gdzieś pomiędzy kodem proceduralnym i OOP. Część napisana jest w taki sposób a część w inny. I coraz mniej mi się to co napisałem podoba.

Generalnie to umiem wyróżnić to co powinno być klasą w moim serwisie. Styk kod php - baza danych też mam oprogramowany obiektowo. Najwięcej problemów sprawia mi generowanie kodu wynikowego. To znaczy samo generowanie nie, ale ujęcie tego ładnie w obiekty.

Obecnie mam abstrakcyjną klasę Display, w której mam wszystkie stałe elementy kodu HTML oraz właściwości np tytul_strony, skrypty, arkusze_stylow, zawartosc_body i metodę wyswietl_strone() (wyświetla gotowy kod). Każda podstrona jest klasą potomną klasy Display, która w specyficzny dla siebie sposób wytwarza kod ciała strony (i przekazuje go do Display->zawartosc_body). Ustawia też wcześniej wymienione właściwości (które dziedziczy po klasie Display) jak tytuł strony, skrypty itd. Całością steruje plik index.php, który w zależności od stanów pewnych obiektów (niezwiązanych z wyświetlaniem) i zmiennych w sesji tworzy każdorazowo egzemplarz jakiegoś potomka klasy Display i wywołuje metodę wyswietl_strone().

Czy takie rozwiązanie nie jest lekko naciągane? Już teraz mam jedną klasę Display i sporo jej potomków, którzy wykorzystywani są tylko do wyświetlenia danej strony. A jak to się jeszcze rozrośnie? Czy to nie sztuka dla sztuki?

Czy to jest głupie, że praktycznie każda podstrona ma swoją klasę czy jeszcze w ramach dopuszczalnych norm?

Właśnie dlatego chętnie podejrzałbym jak to robią profesjonaliści. Czytałem o frameworkach, ale czy bez tego nie da się zrobić ładnej aplikacji na obiektach?
Crozin
Cytat
Czytałem o frameworkach, ale czy bez tego nie da się zrobić ładnej aplikacji na obiektach?
A zobacz jak pewne zagadnienia (np. wyświetlania stron) są rozwiązane w owych frameworkach.
qrzysztof
Problem w tym, że ja chcę to zrobić we w miarę prosty sposób.

Swojego frameworka nie będę w tym celu pisał. To są na pewno skomplikowane rozwiązania jeśli zajrzeć pod maskę. Chyba tylko żeby ideę załapać.
skowron-line
@qrzysztof pobierz sobie jakiegoś FW i zobacz jak jest napisany, albo zacznij z niego kożystać i upieczesz 2 pieczenie na jednym ogniu
- nauczysz sie FW
- i obiektowego

no i może jakąś dupeczke na to poderwiesz smile.gif
#luq
Napisać własnego frameworka to właśnie imho fajny pomysł, sam coś takiego piszę i powiem szczerze bardzo dużo się przy tym nauczyłem. Oczywiście to co napisałem nie jest mega nie wiadomo jakie, ale użyteczne, a nauka nie poszła w las.
Co do książek to ja tam zakupiłem ostatnio "PHP 5 Zaawansowane Programowanie". Zmieniła ona moje podejście do OOP, na pewno rozjaśniła mi kilka spraw. Ogólnie polecam.
qrzysztof
OK, może się trochę źle wyraziłem. Ja też liczę, że kod, który powstanie przy moim pierwszym projekcie będzie do wykorzystania przy następnych (co jest o tyle jedynie wątpliwe, że to pierwszy projekt) więc do pewnego stopnia to co piszę ma jednak mieć cechy frameworku.

Co polecilibyście na początek do analizy? Bo to moja pierwsza styczność z frameworkami będzie.

Idę zajrzeć do księgarni. O ile coś będzie to zaopatrzę się chyba jednak na wszelki wypadek w parę pozycji.
Crozin
Nie zaczynaj pisać własnego FW nie mając najmniejszego pojęcia co będziesz pisał. Poznaj trochę gotowych rozwiązań (będziesz mógł zobaczyć jak tam rozwiązano pewne zagadnienia). Poznasz je jedynie od strony użytkownika. Później w ramach ćwiczeń będziesz mógł spróbować samemu napsać coś o podobnej funkcjonalności, a przy okazji będziesz już znał jakiś FW. Ja polecam Symfony, ale jest jeszcze cała masa innych wartych uwagi.
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.