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? |
|
|
|
![]() |
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ć (IMG:style_emoticons/default/smile.gif) to przeczytaj dokładnie manual.
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 (IMG:style_emoticons/default/smile.gif) Proste nie? Wystarczy poczytać (IMG:style_emoticons/default/smile.gif) 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 (IMG:style_emoticons/default/smile.gif) Ten post edytował eai 17.10.2010, 14:15:13 |
|
|
|
my salsa [ZendFramework] modele w aplikacji z modułami 17.10.2010, 13:37:49
my salsa Nie chodzi mi o bootstrap dla kazdego modulu, bo a... 17.10.2010, 14:25:46
eai Mówiąc domyślna przestrzeń, miałem na myśli podsta... 17.10.2010, 16:19:43
my salsa jesli chodzi o kontrole dostepu to mam swoj plugin... 17.10.2010, 16:46:17
eai Nie musisz kopiować zawartości innych bootstrapów,... 17.10.2010, 17:48:36
my salsa W tym kodzie który napisałeś, wczytuję wszystkie m... 17.10.2010, 18:30:17
eai CytatTo mnie ciekawi, jak wszystkie przestrzenie s... 17.10.2010, 18:47:47
my salsa Cytat... szczerze to sam Zend Framework jest mało ... 17.10.2010, 18:55:16
eai To prawda trzeba dbać o optymalizację i wydajność ... 17.10.2010, 19:10:09
my salsa no też jakiś sposób z handlerem, zobaczę jak to dz... 17.10.2010, 19:33:24
eai Spoko te namespace'y nie lądują w w include_pa... 17.10.2010, 19:50:01
my salsa a to chętnie zerknę w wolnej chwili, dzięki
Zgodz... 17.10.2010, 22:21:55
eai To umieść plik Booststrap.php tylko w tym jednym m... 18.10.2010, 07:21:22
my salsa no chyba bez modyfikacji się nie obędzie, sprawdzę... 19.10.2010, 08:11:46 ![]() ![]() |
|
Aktualny czas: 30.12.2025 - 07:33 |