![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 23 Dołączył: 26.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Aktualny próbuję zrobić własny system pluginów i przeglądając różne wątki na ten temat wpadłem na następujący pomysł: Zrealizowanie systemu pluginów na podstawie obiektów które w miarę potrzeb będą wczytywały inne obiekty. (trochę pokrętny opis, ale czytając dalej może zrobi się jaśniej) Głównym celem tego pomysłu jest zwiększenie czytelności kodu, a więc i ułatwienie sobie życia (IMG:style_emoticons/default/smile.gif) A przy okazji dodanie możliwości rozszerzania pluginów o nowe funkcjonalności zależnie od tego nad czym chcę pracować w danym pliku. Programista mógłby się odwoływać do takiego pluginu w następujący sposób:
Albo:
W związku z tym mam pytanie: Jak odwołać się do zmiennych wewnątrz obiektu $Plugin z poziomu obiektu Gruszka. Przydałoby się śledzenie różnych statusów z poziomu obiektu pilnującego wszystkich zainstalowanych pluginów a to jedyna metoda jaka przychodzi mi na myśl, tylko nie wiem czy to jest wykonalne. Ewentualnie jakieś inne pomysły jak to zrealizować? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 23 Dołączył: 26.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ok, przejrzałem kod Bundli... o ile dobrze to rozumiem, oni w każdej metodzie przerzucają Container i na nim robią operacje. Tylko to jest to czego właśnie chciałem uniknąć. Wtedy nie mógłbym zrobić swojego odwołania Gruszka->Robal->Metoda(""); (IMG:style_emoticons/default/winksmiley.jpg) Właściwie to nie wiem nawet jakby odwoływać się do metody wewnątrz obiektu gruszka przekazując do niej tą gruszkę. (IMG:style_emoticons/default/blinksmiley.gif)
Odwołania takie jak dałem za przykład rzeczywiście są w Symfony ale to bardziej polega na odwoływaniu się obiektu do samego siebie, kilka razy, np.
Tylko akurat nie o to mi chodziło :/ Jedyny pomysł jaki mam to np.
gdzie UstawStan odwołuje się do metody w obiekcie Robal która zwraca tablicę stanów. Dość mało praktyczne, ale po części obchodziłoby problem z odwoływaniem się do obiektu który przetrzymuje mój obiekt. Tylko wtedy jest jeden duży problem - Metoda Zryj nie ma jak wywołać UstawStan - trzeba by to robić ręcznie po jej wywołaniu (IMG:style_emoticons/default/sad.gif) Więc zostają dwa pytania: - Czy da się zmienić wartość w obiekcie zawierającym obiekt wewnętrzny z jego poziomu? - Albo: Czy obiekt wewnętrzny może wywołać metodę z obiektu który go zawiera? |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Więc zostają dwa pytania: - Czy da się zmienić wartość w obiekcie zawierającym obiekt wewnętrzny z jego poziomu? - Albo: Czy obiekt wewnętrzny może wywołać metodę z obiektu który go zawiera? Da się, ale w obiekcie wewnętrznym musisz mieć referencję do obiektu zewnętrznego, czyli coś na zasadzie:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 12:58 |