![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Witam
Ciekawi mnie jakie Wy macie rozwiązania na modele w aplikacjach z modułami. Kiedy ustawimy sobie moduły, autoloader automatycznie nam dopisuje ścieżkę do modeli "zbiorczych", które są w katalogu głównym aplikacji, a teraz co z modelami, które mają być dedykowane dla danego modułu? Czyli jak wywołać model, który będzie np. w katalogu: Cytat application/module/NAZWAJAKAS/models/ModelTestowy.php Tam autoloader sam już nie wejdzie, trzeba sobie radzić. Niektórzy robią to dodając include_paths do każdego modułu, inni piszą plugin, który dodaje include_path oddzielnie dla każdego modułu, np:
Macie na to jakieś ciekawe rozwiązania? -------------------- scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 10 Dołączył: 20.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mówiąc domyślna przestrzeń, miałem na myśli podstawową konwencję nazewnictwa oraz listę zasobów jakie zostaną zarejestrowane. Bo korzystając z Autoloader'a mogę zarejestrować swoje własne i/lub zmodyfikować istniejące przestrzenie.
Domyślna przestrzeń aplikacji pozostanie czyli dla modeli: Application_Model_Tabela, Application_Form_Formularz itd. A każdy z tych bootstrapów zarejestruje swoją przestrzeń nie kolidującą z przestrzenią dla Aplikacji (o której mówisz). Główny bootstrap w katalogu application zostaje jak był. Definiujesz tylko dodatkowe bootstrapy dla modułów. Zaletą takiego rozwiązania jest dobry podział logiki aplikacji. Załóżmy że masz moduł users, który odpowiada za autoryzacje, prawa dostępu, zarządzanie użytkownikami. Napewno w swojej aplikacji używasz praw dostępu i rejestrujesz jakiś plugin wykorzystujący Zend_Acl i domyślam się że umieściłeś dodatkowy folder w katalogu library. Logicznie rzecz biorąc ten plugin powinien się znajdować w module users, i z tamtąd go powinieneś zarejestrować używając właśnie bootstrapa modułu users. Bo gdy usuniesz ten moduł (wyłączysz), to automatycznie wyłączysz sprawdzanie praw dostępów - bo po usunięciu tego modułu nie będzie co sprawdzać - użytkowników przecież nie będzie. Mam nadzieje że rozumiesz idee ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 23:49 |