![]() |
![]() |
![]()
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%) ![]() ![]() |
1. Pierwsza rada, to zanim zaczniesz kombinować
![]() http://framework.zend.com/manual/en/zend.a...sources.modules http://framework.zend.com/manual/en/learni....resources.html http://framework.zend.com/manual/en/projec...filesystem.html http://framework.zend.com/manual/en/zend.c...er.modular.html http://framework.zend.com/manual/en/zend.a...-operation.html 2. A teraz rozwiązanie: W pliku konfiguracyjnym aplikacji "application/configs/application.ini" dodaj wpis: Kod resources.modules[] = Taki wpis spowoduje wywołanie klas Bootstrap dla poszczególnych modułów (jeśli takie klasy istnieją). Następnie w każdym katalogu modułu stwórz plik Bootstrap.php, w który zdefiniuj klasę o nazwię Nazwamodułu_Bootstrap Np. dla modułu default:
Dla modułu admin:
Ta klasa niejawnie (bo tego nie widać), zarejestruje przestrzenie nazw dla modułów w których znajduje się Bootstrap.php. Domyślna przestrzeń nazw to. Model dla katalogu models, Form dla katalogu forms, Plugin dla katalogu plugins, Service dla katalogu services. Przykład (moduł default) application/modules/default/controllers application/modules/default/models application/modules/default/forms application/modules/default/plugins application/modules/default/services model definiujesz jako klasę Default_Model_Table w pliku application/modules/default/models/Table.php reszta analogicznie ![]() Proste nie? Wystarczy poczytać ![]() A tak przy okazji. Zacząłem tworzyć samouczek dla chętnych poznania Zend Frameworka. Projekt zamieściłem na http://code.google.com/p/zf-samouczek/ do pobrania przez svn. Generalnie jest to działająca aplikacji na Zend Framework'u, z obfitymi komentarzami i odsyłaczami do manuala dla opornych ![]() Ten post edytował eai 17.10.2010, 14:15:13 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 13:37 |