![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 2 Dołączył: 21.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, pytanie związane jest z mechanizmem autoloadu w Zendzie.
Mam taką strukturę aplikacji w przybliżeniu:
Jak widzicie koledzy mam kilka przestrzeni nazw dla klas: My, Zend, App, Front, Admin Nie ma problemu z autolaodem klas My, Zend i App ponieważ początkowy include_path zawiera ścieżki '/library' (My, Zend) oraz '/application/library' (App) - w przypadku tych bibliotek w autoladerze wystarczy że zarejestruję odpowiednie przestrzenie nazw: $autolaoder->registerNamespace(array('My', 'App')); Pytanie jest teraz takie jak zrobić aby dynamicznie do include_path lądowały ścieżki do katalogu library w modułach - tak żebym mógł również zarejestrować przestrzenie nazw Front i Admin - a w przyszłości także inne specyficzne dla kolejnych modułów. Chodzi mi oczywiście o zrobienie tego z wykorzystaniem mechanizmów zenda, najlepiej w bootstrapach poszczególnych modułów. W chwili obecnej obszedłem problem w ten sposób że w index.php na sztywno dopisałem do include_patha ścieżki /application/modules/front/library i /application/modules/admin/library a w bootstrapach dla modułów dodaję te przestrzenie nazw. Brakuje mi w tym przypadku czegoś takiego jak ma Zend_Loader_PluginLoader gdzie mamy metodę addPrefixPath('Admin', '/application/modules/admin/library/Admin'). Proszę o pomoc. Być może jest jakiś mechanizm którego ja nie dostrzegam / nie umiem skorzystać. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Może nie takie zendowe rozwiązanie, ale pluginek działa
![]()
Możesz spróbować tutaj dodać przestrzenie nazw do autoloadera, zamiast includepath, czego nie sprawdzałem, ale powinno działać. Rozwiązanie w bootstrapie będzie Ci dodawało WSZYSTKIE przestrzenie na raz do każdego modułu, o czym dyskutowałem z eai w tym temacie Temat: ZendFramework modele w aplikacji z modulami, a za pomocą takiego plugina dodawane są tylko w aktywnym module Ten post edytował my salsa 20.10.2010, 06:52:32 -------------------- scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 2 Dołączył: 21.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak, śledziłem Waszą dyskusję. Mnie interesuje ładowanie wszystkich przestrzeni, więc rozwiązanie które podesłałeś mogę wykonać w abstrakcyjnym bootstrapie po którym dziedziczą bootrstrapy modułów. Jednak nie o coś takiego mi chodziło a raczej o uzyskanie info czy w zendzie są do tego odpowiednie narzędzia.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:36 |