Jestem przez rozpoczęciem większego projektu i nie do końca jeszcze zdecydowałem się na to jak rozplanować strukturę aplikacji. Do tej pory w Zendzie nie używałem modułów jednak uznałem że przyszedł czas na zaprzęgnięcie ich do pracy.
Nie pytam tutaj o samo użycie/kod i tego typu rzeczy tylko o czysto teoretyczne porady.
Zakładając że projekt wygląda tak:
-application --configs --lang --controllers --models --views --modules ----Moduł1 ------controllers ------models ------views
Jako że ponoć lepiej jest nie robić domyślnego modułu i trzymać go jakby luzem to też tak postanowiłem zrobić.
Teraz pytanie czy w tym domyślnym module trzymać samą aplikacje a w czymś co roboczo nazywa się Moduł1 dać rejestracje, pomoc, kontakt, FAQ i tego typu rzeczy które jako tako nie mają powiązania z aplikacją czy może na odwrót a może jest to bez znaczenia? Chyba że metoda z trzymaniem domyślnego modułu luzem nie jest jednak dobrym pomysłem?
Zależałoby mi na tym by w przyszłości łatwo można zaimplementować coś w rodzaju "kanału beta".
Zostaje też kwestia odnośników, jeszcze nie doszedłem do tego czy da się używać jednego modułu jak user jest zalogowany a innego jak nie bez zmian w adresie, pewnie tak a przynajmniej mam taką nadzieje.
Co do samych modułów w ZF, słyszałem głosy że są niezastąpione i genialne oraz inne że są kompletnie niedopracowane i wstawione na siłę. Sam zdania nie mam bo jak pisałem nie maiłem z nimi styczności a w necie mało jest o nich informacji. Z tego co wiem to jest problem z uruchamianiem bootstrapów a właściwie z odpalaniem wszystkich na raz. Jak ma się to do wydajności i bezpieczeństwa bo fakt że ktoś włączy sobie FAQ a do tego celu trzeba odpalić pluginy, nawigację, tłumaczenie, połączenia z bazą i cały szereg innych rzeczy z modułu aplikacji wydaje mi się dziwny.
To samo tyczy się plików językowych i layoutów, lepiej mieć to w jednym miejscu pod application czy dla każdego modułu osobne?
System nie jest może strasznie rozbudowany ale baza danych mimo wszystko ma trochę tabel i teraz kolejne pytanie. Lepiej zastosować dwie bazy, jedna pod czysto aplikacyjne zastosowania czyli baza userów, projektów itp. a druga pod informacje, faq i inne "publiczne" rzeczy.
Wiem że pytanie jest dosyć ogólne i bardzo mało tam konkretów ale tak to bywa jak ma się na kartce jedynie bazę, listę funkcjonalności i zamysł.