![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 25.11.2003 Skąd: Białe Błota Ostrzeżenie: (0%) ![]() ![]() |
Tak wlasnie siedze i mysle sobie, bo chce przepisac swoja aplikacje z GOD classes na prawdziwe OOP. Chce aby kazda klasa reprezentowala jeden typ danych, np. klasa Articles ma metody tworzace obiekty klasy Article, ktora posiada z kolei metody zwracajace dane danego artykulu. Ale jest problem... Artykuly w bazie danych polaczone sa relacyjnie z Article_Type, oraz Category. I problem w tym, ze klasa Article_Type to tylko article_type z DB, Category to tylko category z DB. W templejcie potrzebuje wyswietlic artykuly wraz z ich kategoria oraz typem (np. test, recenzja czy cokolwiek innego). I nie wiem, jak mam polaczyc te obiekty. Moge oczywiscie zrobic wywolanie obiektu Category z Article, ale to za kazdym wyswietleniem danych tworzy jedno zapytanie do bazy o nazwe kategorii. Ma ktos jakis pomysl?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 2.01.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Ja jestem zdecydowanie za OOP.
Zgadza się, że w PHP4 obiekty nie są w 100% tym czym być powinny, ale to sie zmieni z czasem, wystarczy popatrzeć co nowego w tej kwestii będzie oferowało PHP5, zmiany idą dobrą drogą. Ja podobnie jak Pathfinder zrobiłem sobie "systemik" tworzący aplikację WWW w 90% w OOP, wszystko składa się z pojedyńczych modułow, każdy z nich jest klasą, która rozszerza pewną klasę podstawową dzieki czemu dziedziczy wszystkie podstawowe metody wymagane do działania każdego modułu, do tego dochodzą metody specyficzne dla danego modułu. Wszystkie moduły zorganizowane są w strukturze drzewiastej - jedne są dziećmi innych i jednocześnie rodzicem kolejnych dzieci. Dodanie kolejnego modułu sprowadza się do wyedytowania pliku konfiguracyjnego i podania kilku podstawowych wiadomości nt modułu, tj. nazwa klasy, plik z szablonem, nazwa modułu, ID modułu i inne. Całość sprawia, że np w aplikacji, gdzie jest kilka miejsc na stronce, które służą do przeglądania zawartości róznych tabel z bazy danych - wykorzystuje do tego celu jedną klasę a tylko inicjuję ją z odpowiednio innymi parametrami dla danej tabeli. Do tego mam już moduliki pozwalające wybrać tylko porządane kolumny, wiersze, pogrupować rekordy po ileś tam na stronie itd.... Podsumowując - uważam tak jak jeden z poprzedników, że OOP to przyszłość i naprawde bardzo ułatwia wszelkie modyfikacje, odpluskwianie, rozbudowe aplikacji. Ale sie rozpisałem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) p.s. Wkrótce przedstawie do oceny mój najnowszy projekcik oparty właśnie na tym "systemie". pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 18:55 |