![]() |
Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
Były już długie dyskusje o MVC, jeszcze dłuższe o budowie jądra... Proponuje by rozpocząc dyskusje na temat, jak w naszej aplikacji umożliwić programiście piasnie dowolnych rozszerzeń. Chodzi mi o Pluginy. Niektóre skrypty (phpBB) rozwiązują to na zasadzie zwykłej edycji kodu, inne (WordPress) udostępniają specjalne API. Jak Wy widzicie budowe takiego systemu? Powiesz szczerze, że nigdy nad takim czymś nie myślałem i nie robiłem nic w tym rodzaju więc w pierwszym poscie nie opisze swojego sposobu, bo go po prostu nie mam. Licze na Waszą inwencję i na to iż temat się przyjmie :] Czyli podsumowując: Jak stworzyć dobre API dla Pluginów. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 23.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Pracuję właśnie nad framework'iem, w którym mam zamiar uwzględnić system ładowania pluginów.
W poprzednim CMSie plugin'em była po prostu klasa w jakimś module. Ale teraz dochodzę do wniosku, że poszerzę system katalogów modułu (wcześniej module/action) do module/submodule/action i jeden moduł będzie nosił nazwę 'plugins', gdzie będę mógł załadować potrzebne mi pluginy. Potem tylko w edytorze template'a wpisuję odpowiednią linijkę ( np. <plugin>kalendarz</plugin> ), zmiany zapisywane są w pliku konfiguracyjnym i poprzez filtry (w moim przypadku services) sprawdzam w configu, czy do danego template'a jest przypisany jakiś plugin, dodaję do łańcucha akcji i tyle. PluginManager również można tutaj wykorzystać zamiast np. action chain. Generalnie możliwości jest sporo, wszystko zależy od budowy aplikacji. Nie ma jakiegoś uniwersalnego sposobu. Co do zmiany bbcode na html, to najlepiej na filtrach (jeśli mowa o MVC przede wszystkim) - przed wykonaniem akcji sprawdzamy w konfigu, czy dana akcja ma być filtrowana (bbcode na html), jeśli tak, to po wykonaniu akcji pobieramy wynik kodu i filtrujemy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 09:36 |