Trovo cheZend_Config
sia una buona soluzione. È possibile caricare configuration from a simple array, da an INI style file o da an XML document. Qualunque sia la tua scelta, l'oggetto di configurazione è lo stesso, quindi puoi cambiare liberamente i formati di archiviazione. Gli oggetti Zend_Config
possono anche essere uniti, a seconda dell'applicazione potrebbe essere utile (una configurazione del server, quindi una configurazione per sito/installazione).
Come con la maggior parte (o tutte) le cose in Zend Framework, è possibile utilizzare facilmente Zend_Config
da solo.
Considerando l'efficienza, direi che il metodo più veloce sarebbe utilizzare un array, poiché richiede meno (in questo caso nessuna) analisi delle stringhe. Tuttavia, un formato INI/XML potrebbe essere più facile da mantenere per alcuni. Certo, alcuni caching ti darebbero il meglio di entrambi i mondi.
Inoltre, l'utilizzo dei file INI con Zend_Config
consente di definire sezioni di configurazioni che si ereditano l'una dall'altra. L'uso più comune è una sezione "sviluppo" che eredita dalla sezione "produzione", quindi ridefinisce le impostazioni di DB/debug.
quanto riguarda la sicurezza, mantenendo il file di configurazione fuori della web root è il primo passo. Farlo leggere solo e limitare l'accesso potrebbe renderlo più sicuro; tuttavia, a seconda della configurazione del tuo hosting/server, potresti essere limitato a ciò che può essere fatto lì.
fonte
2009-11-27 15:09:21
Mi piace questo approccio, quindi posso utilizzare il caricamento automatico per le impostazioni, vorrei che il const di classe potesse essere impostato da un'altra variabile come $ _SERVER ['REMOTE_ADDR'] – JasonDavis
Se si utilizza 'SetEnv' nella configurazione di apache, è possibile impostare variabili d'ambiente che appariranno in '$ _SERVER'. – gahooa