![]() |
![]() |
![]()
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 ![]() 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ć? -------------------- Pomogłem? Kliknij
![]() Dzięki! :D |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Bardzo mi się spodobał system bundle'i w nowym Symfony 2, możesz zobaczyć tutaj.
Korzysta on z wzorca Dependence Injection, a zarejestrowany bundle wykorzystuje się tak:
a konfiguruje tak: Kod config.yml
swift.mailer: transport: gmail username: your_gmail_username password: your_gmail_password |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 23 Dołączył: 26.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
yhy.... tylko obawiam się, że to mi niewiele pomaga
![]() Chciałbym rozwiązać swój mały problem, a nie uczyć się nowego frameworka ![]() ![]() Ten post edytował Sky_walker 18.11.2010, 15:16:00 -------------------- Pomogłem? Kliknij
![]() Dzięki! :D |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Przecież nie mówiłem, żebyś wykorzystał Symfony, tylko żebyś zobaczył jak to tam jest zrobione, bo system jest megaelastyczny i właściwie cały framework jest zbudowany z takich bundli.
|
|
|
![]()
Post
#5
|
|
![]() 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("");
![]() ![]() 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 ![]() 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? -------------------- Pomogłem? Kliknij
![]() Dzięki! :D |
|
|
![]()
Post
#6
|
|
![]() 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:
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 23 Dołączył: 26.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Oooooo...... GENIALNE
![]() Wielkie dzięki! -------------------- Pomogłem? Kliknij
![]() Dzięki! :D |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:45 |