2012-02-20 6 views
6

Sono abbastanza familiare con i dettagli di Zend Framework e su come funziona la maggior parte delle cose. Un'area che ancora non comprendo appieno è il modo in cui Zend Framework carica le risorse da application.ini.Comprensione del processo Bootstrap di Zend e caricamento delle risorse da application.ini

Capisco che posso creare le mie funzioni _init protette e queste verranno chiamate automaticamente durante il bootstrap.

La documentazione di Zend Framework è carente in alcune aree.

Ad esempio: come e quando vengono caricate le opzioni di configurazione resources.db? Non ho nulla nel mio bootstrap che parli di db. Questo viene caricato su richiesta o effettivamente durante il processo di bootstrap?

Qualsiasi link di riferimento che spieghi questo sarebbe molto utile.

risposta

10

La classe di bootstrap eredita in definitiva da Zend_Application_Bootstrap_BootstrapAbstract. Il metodo bootstrap() in questa classe ricerca innanzitutto i metodi di classe con prefisso _init e li esegue. Quindi cerca i plugin di risorse, che sono popolati dalla parte 'risorse' dell'array di opzioni. L'array di opzioni proviene dalla configurazione passata a Zend Application, che di solito proviene da application.ini.

I plug-in delle risorse vengono associati a una classe sul file system. Quindi, per impostazione predefinita, resources.db creerà un'istanza di Zend_Application_Resource_Db e la eseguirà (che a sua volta imposta le informazioni db pertinenti). C'è un elenco completo delle risorse incorporate qui: http://framework.zend.com/manual/en/zend.application.available-resources.html

Tutte le risorse dell'applicazione vengono eseguite durante il processo di avvio, a meno che non abbiate detto al bootstrap di avviare solo quelle specifiche.

C'è una panoramica ragionevolmente dettagliata di come tutto si combina nei documenti: http://framework.zend.com/manual/en/zend.application.theory-of-operation.html, ma è il tipo di cosa che non è necessario conoscere i dettagli a meno che le vostre esigenze siano un po 'personalizzate.

Problemi correlati