![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Witam,
na wstępie trochę kodu 1.
2.
i pytanie - czy istnieje, możliwość przechwycenia z zewnątrz, momentu zainicjowania(1) $this->a lub zmiany jego wartości(2)? EDIT: __set() nie wchodzi w grę Ten post edytował CuteOne 9.11.2012, 16:18:09 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem małą inwentaryzację swoich pomysłów "jak pluginować pluginy" i doszedłem do kilku wniosków:
- pisanie nowych pluginów musi być równie proste jak pisanie zwykłych modułów (ameryki nie odkryłem ale to chyba będzie największe wyzwanie przy pisaniu systemu) - każdy kontroler, model czy widok musi posiadać odgórnie wyznaczone miejsca dostępu (hooki) dla danych wrażliwych(widać bez obserwatora się nie obejdzie (IMG:style_emoticons/default/wink.gif) ) - każdy moduł(pseudopligin) musi posiadać własne API, dzięki czemu możliwe będzie sterowanie modułem przy użyciu innego modułu. Nad tą kwestią muszę się jeszcze zastanowić - co, jak i gdzie (IMG:style_emoticons/default/smile.gif) - idąc Twoją radą zrezygnuje z możliwości manipulowania zmiennymi danych metod. - rozszerzanie pluginu przez inny plugin (tak jak w akcji Comments->viewAction() => BBCode->view()), będzie możliwe poprzez: 1. Nadpisanie metody 2. Hooki 3. Before i After 4. Za pomocą serializacji obiektu i zmianach struktury przed jego deserializacją (do przemyślenia) 5. Za pomocą API Zostało jeszcze parę(naście) kwestii do przemyślenia ale to już pierdółki. Teraz zastanawiam się w jaki sposób uaktualniać już zainstalowane pluginy - wsteczna kompatybilność i te sprawy. Gdyby istniała, możliwość dziedziczenia metod rodzica przez dziecko bez ingerencji w kod.. Co do BBCode to tylko przykład (IMG:style_emoticons/default/smile.gif) wybrałem go bo najlepiej obrazuje w jaki sposób jeden plugin, może ingerować w dane innego pluginu. Pozdrawiam i dziękuję za Twoje rady Edit: co do Event Dispatchera to nie mam na jego temat wystarczającej wiedzy abym mógł napisać "profesjonalny" system - pracuje na Zend 1.x.x, może za jakiś czas zagłębie się w niego dokładniej gdy będę przechodził na Zenda 2. Ten post edytował CuteOne 10.11.2012, 21:34:04 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 17:12 |