Domanda

Ho iniziato a documentare me stesso per quanto riguarda Zend Framework come io presto iniziare ad usarlo in produzione. Tutto stava funzionando benissimo, fino a quando ho iniziato a utilizzare e lavorare con i modelli:.)

La posizione predefinita per i modelli, sulla base delle raccomandazioni Zend, è application/models/DbTable, dove saranno gettati tutti i modelli. Questa posizione mi costringe a citarne un modello come Application_Model_DbTable_Actors. Per me, questo è un nome molto lungo per un modello e non un facile da usare uno.

La struttura di directory che voglio ottenere simile a questa:

application/
  models/
    actors/
      ActorsMapper.php
      Actor.php
    books/
      BooksMapper.php
      Book.php

ecc.

Quindi tutto i miei modelli risiederà nella directory models, ma raggruppate nelle proprie directory.

Naming per ogni classe dovrebbe essere ActorsMapper o Actor (Essi saranno entrambi estendere Zend_Db_Table o Zend_Db_Row).

Sono consapevole del fatto che nei miei controllori se un'istanza di un modello usando qualcosa come $actors = new ActorsMapper() mi metterò un Fatal error: Class not found e che per questo che sto chiedendo il vostro aiuto con questo.

Per risolvere questo problema ho provato ad aggiungere la mia directory models all'include_path:

  • prima prova

    aggiunto includePaths.models = APPLICATION_PATH "/models" a Application.ini

, ma questo non ha nemmeno inserirlo al percorso includono

  • secondo tentativo:

    esplicitamente aggiunto il percorso utilizzando set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), realpath(APPLICATION_PATH . '/models'), get_include_path(), )));

Ma anche se questo si aggiunge che il percorso tra quelli inclusi, l'errore persiste ancora.

ho visto questa denominazione di modelli della href="http://framework.zend.com/manual/en/zend.db.table.html" rel="nofollow"> documentazione ufficiale del Zend_Db_Table, ma non ho trovato nulla legati alla loro autoloading.

Grazie a tutti per qualsiasi soluzione.

P.S. la versione Zend Framework è 1.11.1

Altri suggerimenti

tenta di estendere Zend_Application_Bootstrap_Bootstrap allora si può provare questo

$ loader = $ this-> getResourceLoader ();

$ loader-> addResourceType ( 'libri', 'modelli / Libri', 'Model_Book'); $ Loader-> addResourceType ( 'attori', 'modelli / attori, 'Model_Actor');

Sto anche cercando di implementare questo tipo di implementazione in un modello di osservatore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top