![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 743 Pomógł: 0 Dołączył: 11.11.2003 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Tak się zastanawiam nad sensem stosowania Klas w php. Np. mam klasy: Users, News, Forum itp. I teraz na stronie głównej serwisu chcę wyswietlic aktywnych userow, newsy ostatnie i ostatnie topicki na forum. Muszę tworzyć 3 obiekty ... a jak wstawię wiecej rzeczy na storne glowną to jeszcze wiecej. Przy językach nawet takich jak ActionScript Flash'a ma to sens gdyz obiekt jest tworzony raz i dziala az do zamknięcia. W php natomiast kazdorazowe utworzenie 3 - 6 obiektów z 20 nie uzytymi wcale metodami takimi jak (dodaj posta czy usuń news'a) na stronie głównej daje nam stratę czasu generowania kodu. Więc czy w php w ogole to ma sens ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
A wracając do podanego tu przykładu - warto pamiętać, że są systemy, które działają właśnie w ten sposób.
Przykładem jest osCommerce, który to, na jedno wywołanie potrafi wywołać nawet ze 100 zapytań, a mimo wszystko chodzi "w miarę" wydajnie, i cieszy się niesłabnącą popularnością. Jest to jednak możliwe dzięki specjalnie po temu zoptymalizowanej strukturze bazy danych, i nastawieniu się na proste i bardzo szybkie zapytania. Innym przykładem jest eZ, który problem ten potraktował na jeszcze niższym poziomie, i rozbił na osobne tabele nawet wartości konkretnych pól - czyli np. 1 news potrafi być zapisany w 5 tabelach. Tutaj jednak okazało się to możliwe dzięki bardzo rozbudowanemu systemowi cache, który dzięki takiemu stricte obiektowemu podejściu daje rzeczywiście ogromne możliwości (choć nie ukrywam - jest bardzo trudny do zarządzania) - jednak doświadczenie pokazuje, że wydajność nadal pozostawia wiele do życzenia. Rozwiązanie podane przez DzikiLis, choć okraszone terminologią, ktoa niejednego na początku odstrasza od zaprzyjaźnienia się z OOP - jest w rzeczywistości jednym z najprostrzych i najwydajniejszych, a jakiaś jego wariacja jest moją ulubioną techniką. Pozwala bowiem na połączenie elastyczności OOP z wydajnością zapytań złożonych, zwracających nam, za jednym zamachem, większość potrzebnych nam danych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 08:00 |