![]() |
![]() |
![]()
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%) ![]() ![]() |
To prawda trzeba dbać o optymalizację i wydajność kodu, ale równie ważny jest porządek w aplikacji i uniknięcie własnych tworów. Pamiętaj, że Zend Framework jest ciągle rozwijany, i programiści głowią się nad wydajnością, ale jeżeli będziesz stosował się do dokumentacji i korzystał z zenda w należyty sposób (korzystając z narzędzi jakie oferuje - bez tworzenia samoróbek np. do rejestracji modułów) to unikniesz problemów przy aktualizacji.
Co do wydajności aplikacji, to oprócz tego że starasz się programować jak najwydajniej to pomyśl też troche ja business man. Projekt to koszty, na początku projektu nie wiadomo czy coś wypali czy nie więc lepiej koszty obniżać. Na początku aplikacja nie będzie na pewno nie wiadomo jak obciążona poziom 5 request/s jest zadowalający a w ZendFrameworku taki poziom bez problemu osiągniesz. Dlatego nie ma co tracić czasu na sprawy, które nie są w tym momencie aż tak istotne. Jeśli projekt wypali i przynosi określone korzyści to wtedy inwestujesz czas w doskonalenie projektu. Ważne jest by umieć dostosować się do danej sytuacji. No dobra, ale to jeszcze nie koniec moich pomysłów (IMG:style_emoticons/default/smile.gif) Zend_Loader oferuje możliwość zdefiniowania własnego handler'a do ładowania klas. Działa to tak, że jeśli zend nie potrafi znaleźć klasy to w następnej kolejności wywoła zarejestrowany handler. Napisz własny handler, zadbaj o jego wydajność przy zadowalającym poziomie uzyteczności. Może takie rozwiązanie Cię zadowoli. Tu masz dokładny przykład jak to się robi, jest to bardzo łatwe więc nie ma sensu bym to tłumaczył. http://framework.zend.com/manual/en/zend.l...r.load.autoload Edit Napisany handler nie zastępuje istniejącego, tylko jest uruchamiany jak ZendFramework nie potrafił załadować klasy. Spróbuj np. rozpoznać pierwszy człon nazwy klasy do momentu wystąpienia znaku "_", sprawdź czy folder z takim modułem istnieje i spróbuj załadować klasę modelu. Tu już możesz kombinować według uznania i tego co potrzebujesz. Ten post edytował eai 17.10.2010, 19:17:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 23:23 |