kamilos12
14.12.2013, 16:49:32
Witam,
zastanawiałem się ostatnio w jaki sposób rozwiązać problem pluginów (dodatków), zakładając że mam napisaną aplikację wg. MVC i chciałbym wprowadzić coś takiego jak plugin, wgrywany z panelu admina i nie ingerujący czysto w daną klasę typu "artykuły", przykładowo chciałbym napisać plugin który zamienia słowa w artykule na jakieś tam inne. Ma ktoś pomysł jak to rozwiązać od strony technicznej? Proszę nie odsyłać mnie do gotowych cms'ów czy google.
Pozdrawiam serdecznie
Crozin
14.12.2013, 17:09:06
1. MVC to wzorzec architektoniczny, nie projektowy, stąd nie definiuje on niczego co pozwoliłoby nam na domyślenie się jak działa Twoja aplikacja.
2. W dziale Pro masz wątki dotyczące m. in. rozszerzenie. Powinieneś wyczytać tam przede wszystkim to, że każde rozszerzenie powinno stanowić w miarę odizolowaną paczkę, z dobrze zdefiniowanymi zależnościami, a cały system powinien być napisany w oparciu o zdarzenia, które umożliwiają w miarę luźne powiązania pomiędzy różnymi elementami aplikacji.
bojaszukam
14.12.2013, 17:53:55
Osobiście rozwiązałbym to poprzez dziedziczenie. Dziedzicząc z funkcji artykuł poprzez super.
Crozin
15.12.2013, 15:39:40
Podpowiedź: zasugerowane wyżej dziedziczenie będzie tu jednym z najgorszych możliwych rozwiązań.