ďťż

[PHP] CMS i system pluginów

       

Podstrony


telcocafe

Witam.
Piszę właśnie CMSa dla nowej strony i mam pewien problem. Chciałbym zaimplementować w nim możliwość napisania pluginów do aplikacji. Chciałbym, aby te dodatki można było po prostu skopiować do danego katalogu i bez żadnej ingerencji w kod zainstalować wtyczkę w panelu administracyjnym. Do tego momentu wszystko wydaje się proste, jednak sprawa komplikuje sie trochę w momencie uruchamiania danych pluginów. W jaki sposób można "załatwić" problem wywołania danej wtyczki w odpowiednim momencie? Przykładowo pobierając artykuł z bazy danych odpowiedni dodatek modyfikuje jego treść zamieniając BBCode na HTML, przed przekazaniem treści do szablonu. Może ktoś miał podobny problem i potrafiłby mi pomóc?
Pozdrawiam.



Trzeba programowi zapewnić pewien poziom abstrakcji ;)
Np. przyjmując że będą dwie grupy pluginów - wpływające na wyświetlenie czegoś (czyli np. ten plugin bbcode) i na przykład dotyczące mechanizmów składowania.
Niech skrypt pobierze listę wszystkich aktywnych pluginów z danej grupy i przepuści pewne wartości przez wszystkie po kolei (można by np. definiować kolejność) by ostatecznie wartości te wysłać do przeglądarki.
W wypadku takich rzeczy "wewnętrznych" typu baza danych, robisz zapytania w stylu $this->db->Get()... natomiast db będzie definiowane przez sam szkielet programu - w konfiguracji wybrano żeby to SQLite było sterownikiem bazy danych - więc db będzie sterownikiem SQLite.
Przede wszystkim trzeba się zatroszczyć o szkielet programu - odpowiedni podział zadań między poszczególne klasy.
Jak masz trochę czasu (miesiąc? to coś po rozpakowaniu ma ~80mb :P) to poczytaj sobie źródła i dokumentacje Prado, chyba najdziwniejszego frameworka do PHP - tam możesz znaleźć kilka ciekawych rozwiązań.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.