![]() |
![]() |
![]()
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: 36 Pomógł: 0 Dołączył: 30.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat [WR"]Brakuje jednak tej wielowątkowości w PHP5, jaką zapowiadali, ale później się z niej szybko wycofali. Wtedy taka obiektówka mogłaby być w pełni wykorzystana...
...i wreszczie php byłoby na tyle skomplikowane, żeby możnaby go było poważnie traktować, a skrypt rozpoczynałoby się [php:1:f3b4de8dd6]<?php class myPage extends PHPPage { (...) } ?>[/php:1:f3b4de8dd6] (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A tak na poważnie, to to co mówisz jest wspaniałe, ale trochę nie przystaje do php. Od tego są inne języki, o bardziej rozbudowanych możliwościach. php ma chyba za dużą narośl kompatybilności, żeby udało się to wprowadzić z powodzeniem. Podobnie jak choćby przestrzenie nazw. Poza tym - to zwyczajnie i bez żadnego argumentu - nie pasuje do języków skryptowych - byłaby wirtualna maszyna php, albo php Framework? Cytat ...Dałoby się zrobić prawdziwie trwałe obiekty, których nie musielibyśmy serializować. Nie wczytywało by się tylu klas za każdym razem przy wywołaniu skryptu.
A w jaki sposoób wykorzystujesz serializację do przechowywania obiektu między wyołaniami skryptu? Przecież dwie instancje skryptu mogą działać w tym samym czasie? Tak swoją drogą w prawdziwych serwerach aplikacji obiekty są jak najbardziej serializowane automatem, żeby zaoszczędzić RAM, ale to już inna bajka. Reausumując - doceniam rolę obiektów w tworzeniu pluginów i różnego rodzaju systemów o architekturze komponentowej, ale dalej obstaję, że typowy (i to wcale nie zgorszy) projekt php to Smarty + AdoDB + proceduralny kod, a wszelkie modelowania O/R to już czysta fanaberia. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 14:25 |