Integrar Zend Framework en Symfony
No, no me he vuelto loco, y os aseguro que no es nada tan raro. Es algo que Fabien Potencier creador de Symfony o Matthew Weier O’Phinney y Stefan Koopmanschap responsables del Framework Zend han sugerido en varias ocasiones.
Los que usamos Symfony no tenemos porque volvernos locos para usar Lucene, la API de Google GData, manejar PDFs, recoger feeds o tantas otras funcionalidades que cubre tan bien el Framework Zend. No, porque integrar Zend en Symfony viene a ser bastante sencillo:
Añadir la librería Zend a nuestro código
Debemos descargar el Framework Zend y copiarlo en lib/vendor, que es el directorio donde guardamos habitualmente las librerías externas. Ahí lo meteremos todo dentro de una carpeta nueva que llamaremos Zend.
Sistema para cargar Zend cuando lo necesitemos
Para esto lo que vamos a hacer es crear un método nuevo en la clase config/ProjectConfiguration.class.php que nos permita cargar Zend fácilemente desde cualquier parte:
class ProjectConfiguration extends sfApplicationConfiguration
static protected $zendAutoloader = false;
/** ............ **/
/**
* Agrega el framework Zend a nuestra App
*/
static public function registerZend()
{
if(!self::$zendAutoloader)
{
set_include_path(implode(
PATH_SEPARATOR,
array(sfConfig::get('sf_lib_dir') . '/vendor', get_include_path())
));
require_once 'Zend/Loader/Autoloader.php';
self::$zendAutoloader = Zend_Loader_Autoloader::getInstance();
}
return self::$zendAutoloader;
}
}
Empezamos a usarlo
Una vez hecho todo esto podríamos tranquilamente en un action o en algún task hacer uso del framework Zend. Por ejemplo…
// Cargamos el framework Zend
ProjectConfiguration::registerZend();
// Utilizamos Zend....
try {
$feed = Zend_Feed_Reader::import($parameters['feed']);
} catch (Zend_Feed_Exception $e) {
/** ........ **/
}
Como podéis ver eso es todo
A continuación os pongo las diapos que pasó la gente de Symfony y Zend en las conferencias explicando la utilidad de integrarlos y donde explican como hacerlo que es de donde he sacado yo la info:
Tags:
Buen artículo amigo,
A continuación adjunto un post que explica cómo encapsular la funcionalidad de las consultas Zend Lucene en una clase PHP muy framework-agnóstica. Espero que le sea a alguien de utilidad.
Ánimo y saludos!
http://programarivm.com/2012/01/internacionaliza-i18n-tus-aplicaciones-php-de-tamano-pequeno-o-mediano-de-la-forma-mas-rapida-y-sencilla/
#1 - Publicado hace 1 mes por programarivm