![]() |
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: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio zastanawiam nad użyciem AOP w celu uzyskania funckjonalności pluginów.
W ten sposób bardzo prosto można dodać/tworzyć dowolne pluginy. Przykład1: Plugin autoryzacji
Przykład1: Plugin BBCode do artykółów
W ten sam sposób można dodać najprzeróżniejsze pluginy, a nawet pluginy pluginów pluginów.... Zalety: + można dodać prawie każdy możliwy plugin + zero przygotowań kodu / 0 nadmiarowych linii kodu + może współistnieć z innym systemem pluginów + odnosimy korzyści z użycia AOP ( poprawa modularności, itp. ) + można dać pluginy/filtry na np. konstrukcję obiektów/ustawienie właściwości co w normalnym podejściu byłoby trudne + można połączyć łatwo z PicoContainer'em ( nałożyć pointcut'a na tworzenie obiektów ) Wady: - pomocna jest dobrze zaplanowana architektura ( drobne, krótkie metody, używanie interfejsów, itp. ) - narazie AOP dla PHP jest w powijakach ( nie jest jednak fatalnie ) - dodatkowa faza wdrażania - weaving ( jedno zadanie Phing'a/Make'a itp. załatwia sprawę ) - wymaga zaznajomienia się z AOP Linki: * PHPAspect * PHP AOP * AspectJ ( pierwowzór wszystkich implementacji AOP ) Ten post edytował UDAT 24.03.2007, 19:33:51 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 16:43 |