Non mi legge la cartella model ...

Salve a tutti!!!

Ottimo sito .... premetto che sono nuovo a ZF ed ho trovato molto interessante il vostro corso:

http://www.phpnews.it/corsi/corso-zend-framework/

Ho provato ad inserire nell'esempio del corso la cartella modules con dento la cartella default e a copiarci dentro le tre cartelle controllers, views e models.

Ho inserito le seguenti righe nel file application.ini:
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules[] =

  Questa modifica funziona solamente se models lo lascio dove stava (cioč in application).   Domande: 1. Come posso farlo funzionare con models dentro default? 2. Sarebbe interessante portare dentro default anche la cartella forms? 3. Potrebbe essere interessante inserire nuovi moduli altre a default dentro modules (ad esempio admin) con le rispettive cartelle MVC. Potete rispondermi inserendo con chiarezza il codice e dove scriverlo?   Trovo la documentazione ufficiale poco chiara ed in generale molti tutorial su le varie classi ma nessuno su come si   gestiscono le configurazioni dei file boostrap o di application.ini. Tutti si limitano a sostenere che non c'č un unico modo di fare le cose in ZF ma nessuno interviene spiegando la logica delle varie casistiche. Un tutorial su questo sarebbe molto interessante ...   Grazie per avermi ascoltato .... e spero risposto ... :-) A presto e complimenti!

inviato 5 anni fa
Lapo
Lapo
7
X 0 X

Rispondo ad entrambe le domande visto che sono simili!
ZendFramework ti da piena libera' (fino a certi limiti) di utilizzare la struttura del progetto come meglio ti piace!
Esempio utilizzare i moduli e' molto comodo se si realizza un'applicazione con un frontend ed un backend e tu hai piena liberta' di portarti o meno i modelli e i form dentro ai singoli moduli o lasciarli all'esterno.
Ad esempio io preferisco lasciare i modelli all'esterno dei moduli perche' spesso uso gli stessi modelli in diversi moduli, mentre secondo me i forms sono molto legati al singolo modulo quindi me li porto dentro.

Ti consiglio di leggere questa mia semplice guida per effettuare l'autoload dei forms e models all'interno di ogni singolo modulo:  http://www.jellybellydev.it/wp/2011/11/come-effettuare-lautoload-dei-forms-allinterno-dei-moduli-zend-framework/

risposto 5 anni fa
JellyBelly
modificato 5 anni fa
Grazie! stasera mi leggo la tua guida e ti faccio sapere ....Lapo 5 anni fa
Purtroppo mi scrive questo: Fatal error: Class 'Admin_Form_Login' not found in /Applications/MAMP/htdocs/quickstart/application/modules/admin/controllers/IndexController.php on line 20 .....Lapo 5 anni fa
Dove hai messo il form Login? Come si chiama il file? Come si chiama la classe del form? Ti faccio queste domande per vedere se hai effettuato tutto correttamente! ;)JellyBelly 5 anni fa
il form l'ho messo in "modules/admin/forms/ e l'ho chiamato "Login.php". La classe l'ho chiamata: "Admin_Form_Login" [class Admin_Form_Login extends Zend_Form] ......Lapo 5 anni fa
Ok! Tutto giusto! Hai creato il file Bootstrap.php dentro /modules/admin/ con al suo interno solo questo `class Admin_Bootstrap extends Zend_Application_Module_Bootstrap {}`??JellyBelly 5 anni fa
se metto il file bootstap.php anche nella cartella default mi accade questo: Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 8192 bytes) in /Applications/MAMP/htdocs/quickstart/library/Zend/Loader/Autoloader.php on line 381Lapo 5 anni fa
significa che e' sbagliato l'application.ini secondo me! Hai inserito queste due righe di codice? `resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" resources.modules[] = ""`JellyBelly 5 anni fa
fatto anche quello, ti inserirei il file application.ini ma viene considerato spam ....Lapo 5 anni fa
Ho trovato l'errore scrivevo: class Admin_Bootstrap extends Zend_Application_Bootstrap_Bootstrap invece di: class Admin_Bootstrap extends Zend_Application_Module_BootstrapLapo 5 anni fa
Yuuuuuuhhhhh!!! ;)JellyBelly 5 anni fa
Grazie di tutto!!!!Lapo 5 anni fa
X 0 X X
Effettua l'accesso o registrati per rispondere a questa domanda