![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam dwie klasy. Pierwsza potrzebuje drugiej żeby działać a druga potrzebuje pierwszej żeby działać. Na swoją zgubę przyjąłem zasadę że deklaracje klas robie w konstruktorach. Kod się zapętla a ja nie za bardzo mam pomysł co z tym zrobić. Klasami są klasa konfiguracyjna Config i klasa obsługująca zdarzenia Event. Myślałem czy by nie zrobić z metody trigger w klasie Event metody statycznej, ale zrobi się bałagan w kodzie bo co chwila będę musiał używać self:: macie jakiś pomysł co z tym zrobić ? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Dziwny problem. Użyj include_once() - php samo powinno sobie poradzić.
Pozdrawiam. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Singleton ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Teraz jasne o co chodzi ? Tyle tylko że u mnie w wywoływaniu klasy pośredniczy funkcja która zwraca referencje do utworzonego obiektu klasy. Ten post edytował orglee 17.11.2007, 12:12:44 |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Eeee, blad w projekcie? Nie mozesz tego inaczej zaprojektowac?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Rozważam przerobienie metody klasy event ( trigger ) na statyczną rozwiązało by to problem ale nie lubie metod statycznych,
bo kod się przez to kiepsko czyta. A jak na razie mój framework wygrywa głównie dzięki czytelności kodu :| |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Ale czytelności silnika, czy API? Bo jeśli to silnik, to czytelność jest drugorzędna względem wydajności i rozszerzalności.
Pozdrawiam |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Jeśli idzie o obsługę zdarzeń to chyba mówimy zdaje się o API.
Jako że całość ma budowę modułową, a po publikacji rzeczonego FW, ktoś możliwe że będzie chciał zobaczyć jak zaimplementowałem obsługę zdarzeń. Oprócz tego modyfikowanie tego elementu też będzie 'upierdliwe', bo samo użycie to zmieni się tylko z $event = //pobranie klasy $event->trigger('identyfikator'); na Event::trigger('identyfikator'); Może szukam kwadratowych kół, ale mam po prostu jakąś niechęć do używania metod statycznych. edit> Rozwiążę sprawę w taki sposób że po prostu przeniosę funkcjonalność klasy Config, do klasy Event która sama będzie ładowała swoją konfigurację bez pośrednictwa w.w. klasy. Ten post edytował orglee 17.11.2007, 13:49:04 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Ehh ... a wystarczy uzyc singletona ...
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat Mam dwie klasy. Pierwsza potrzebuje drugiej żeby działać a druga potrzebuje pierwszej żeby działać. Na swoją zgubę przyjąłem zasadę że deklaracje klas robie w konstruktorach. Kod się zapętla a ja nie za bardzo mam pomysł co z tym zrobić. O, matko! Albo wyrzucasz inicjacje drugiej klasy z konstruktora albo robisz tak zeby nie byly od siebie nawzajem zalezne. np
czy podobnie, lub zupelnie inaczej Ten post edytował dr_bonzo 17.11.2007, 17:51:37 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
doktorku to tylko tak ładnie w teorii wygląda w praktyce jest trochę trudniej.
Nie chcę wywalać deklaracji z konstruktora bo to rozwala mi całkowicie zasadę którą przyjąłem. Ale tak jak napisałem klasa Event sama wczytuje swój plik konfiguracyjny, bo w jej przypadku nie trzeba stosować trochę bardziej skomplikowanej metody którą użyłem w klasie Config i wszystko śmiga tak jak powinno. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 15:11 |