Perchè usare zend framework con drupal? Ieri avevo un problema molto semplice: ho costruito un modulo che mi crea un content type e stocca alcune informazioni su una tabella (anch'essa nuova). Ad un certo punto, mi sono reso conto che sarebbe stato molto comodo se avessi potuto utilizzare alcuni model che avevo realizzato per un altro progetto (costruiti con zend framework). Così sono andato a recuperare il modulo "Zend Framework" e ho iniziato a giocare un po' per vedere i vantaggi che potevo ottenere inserendolo all'interno di Drupal.
Pagina di riferimento: Modulo Zend Framework. L'installazione è molto semplice. Una volta scompattato il tar.gz basta copiare la dir come al solito nella cartella "modules". Nella dir scompattata ho creato poi una sotto dir chiamata "library", dentro la quale ho copiato (in realtà ho fatto un semplice link simbolico) tutto lo Zend Framework.
Una volta attivato il modulo, nelle configurazioni di sistema bisogna andare a settare il path corretto dove drupal può trovare lo Zend Framework. Finita l'installazione.
A questo punto, la funzione magica per importare le librerie di Zend è: zend_initialize(). Per esempio:
zend_initialize('Zend_Db');
Esempio di codice in una funzione:
function export_workreports() {
zend_initialize('Zend_Db');
zend_initialize('Zend_Db_Table');
zend_initialize('Zend_Debug');
include_once 'Globals.php';
$Workreport = new WorkreportsModel();
Per ora mi sono limitato a verificare la possibilità di utilizzare una parte delle librerie per l'accesso al db. Non ho fatto test di performance. Tuttavia ho trovato molto comodo, con queste poche righe, poter utilizzare il model come se stessi lavorando direttamente con il framework (quindi sfruttando direttamente l'accesso al db offerto dal framework).


