Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Panel podzielony na moduły
Forum PHP.pl > Forum > PHP > Frameworki
fander
Witam

Aktualnie pracuje nad pewnym projektem w którym panel administracyjny ma służyć do edycji treści na różnych portalach.

W projekcie chodzi o to że mając parę portali np: baza noclegowa, baza ogłoszeń, portal z informacjami, wiadomościami etc., będziemy w stanie z 1 panelu zarządzać resztą portali.

W projekcie założyłem że każdy z portali to osobny moduł, katalog modułu jest równoważny z nazwą domeny danego portalu. Każdy moduł będzie zawierał zestaw kontrolerów oraz własnym plik konfiguracyjny.

Mój problem polega na tym że nie wiem w którym miejscu najsensowniej umieścić kod czytający pliki konfiguracyjne, w których znajdują się informacje o routerze połączeniu do bazy, stylach, widoku etc. tak abym nie musiał za każdym razem czegoś ustawiać w głównym pliku konfiguracyjnym po dodaniu kolejnego modułu.

Pozdrawiam
darko
Każdy załadowany moduł ma swój oddzielny Bootstrap, gdzie można zdefiniować jakieś specyficzne dla niego ustawienia. Moduły ładujemy w pliku konfiguracyjnym (configs/application.ini), zaś ustawienia, które mają obowiązywać we wszystkich modułach najczęściej trzyma się w głównym Bootstrapie i/lub w Bootstrapie domyślnego modułu, o ile takowy w ogóle istnieje (moduł default). Dodatkowo zawsze możesz napisać sobie plugin, który sprawdzi, jakie moduły są aktualnie aktywne i załaduje sobie odpowiednie ustawienia. Taki plugin trzeba zarejestrować w głównym Bootstrapie aplikacji, przykład:

  1. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
  2. {
  3. protected function _initPlugins()
  4. {
  5. // (...)
  6. $fc = Zend_Controller_Front::getInstance();
  7. // register timer plugin
  8. $fc->registerPlugin(new Plugin_ExecutionTime(6));
  9. // (...)
  10. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.