Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] modele w aplikacji z modułami
Daimos
post 17.10.2010, 13:37:49
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:
  1. public function dispatchLoopStartup(Zend_Controller_Request_Abstract $req)
  2. {
  3. $moduleName = $req->getModuleName();
  4. PATH_SEPARATOR . APPLICATION_PATH . '/modules/' . $moduleName . '/models');
  5. }

Macie na to jakieś ciekawe rozwiązania?


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Daimos
post 17.10.2010, 14:25:46
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Nie chodzi mi o bootstrap dla kazdego modulu, bo akurat bootstrap potrzebny mi jest tylko jeden
Domyslne przestrzenie nazw to nie:
Cytat
application/modules/default/controllers
application/modules/default/models
application/modules/default/forms
application/modules/default/plugins
application/modules/default/services

tylko:
Cytat
application/controllers
application/models
application/forms
application/plugins
application/services

W przypadku jednego bootstrapa

Przeczytałem wszystkie te manuale zanim napisałem tu posta winksmiley.jpg
Nigdzie nie ma tego problemu opisanego. Kiedy mam model w katalogu z modułem, nie idzie go załadować bez dodatkowych zabiegów (wcześniej wspomniany plugin).

Podsumuje:
Mam jednego bootstrapa, bo więcej mi nie potrzeba
Struktura katalogów, dla przykładowego modułu przedstawia się tak:
application/module/default/
application/module/default/controllers
application/module/default/models
application/module/default/views
application/models - zbiorcze modele
application/Bootstrap.php

I teraz tak, zbiorcze modele w katalogu application/models autoloader wczytuje bez problemu, ale tych w module, już nie: application/module/default/models...
i interesują mnie rozwiązania na ten problem


chodzi Ci o to, ze kazdy bootstrap te przestrzenie doda? Wiec tez to jakies rozwiazanie, ale po co mi x Bootstrap`ow, kiedy sa zbedne? Mam wszedzie kopiowac ? Dziedziczyc? To rozwiazanie w niektorych przypadkach moze byc dobre, ale ja chce jeden smile.gif

Ten post edytował my salsa 17.10.2010, 14:39:06


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 20:26