Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] modele w aplikacji z modułami
Daimos
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
eai
post
Post #2





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

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


To umieść plik Booststrap.php tylko w tym jednym module, który potrzebujesz. Przez to że w innych modułach nie będzie Bootstrap'a to nie znaczy, że nie będą działać. Poprostu nie będą mieli tej dodatkowej przestrzeni nazw, poza tym nic nie wpłynie na działanie aplikacji. Działa w ten sposób, że klasa Zend_Application_Resource_Modules przeszukuje twój katalog modules i sprawdza czy plik Bootstrap istnieje. Jeżeli istnieje to wtedy go odpala. Zerknij sobie do źródła jak wygląda kod tej klasy.

Ewentualnie, możesz sam napisać sobie własny Resource wzorując się na Zend_Application_Resource_Modules, zmieniając go tylko do swoich potrzeb.
Na to też nam Zend Framework pozwala. Potem wystarczy tylko dodać nasz Resource do konfiguracji, lub w głównym Bootstrapie:
http://framework.zend.com/manual/en/zend.a...eabstract.names
http://framework.zend.com/manual/en/zend.a...-operation.html

Ten post edytował eai 18.10.2010, 07:31:11
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 26.12.2025 - 21:28