2010-09-19 12 views
5

Parece que ha habido previous attempts para integrar Zend con Symfony en el mismo proyecto. Escuché que se puede hacer y se ha realizado, pero aparte de una presentación de diapositivas vinculada a continuación, el video real que acompaña a la presentación no está disponible de manera gratuita.Zend con Symfony

Entonces, ¿alguien sabe de buenos recursos que explican bien esta integración? blogs, videos, lo que sea. Agregaré lo que publiques aquí para facilitar el acceso a otros en el futuro.

recursos que he encontrado hasta ahora:

Edit: Debo añadir que, si usted ha hecho esto mismo antes, también puedo favor puesto algún consejo (como poco o mucho) a ayudar a aquellos que quieran probarlo.

+0

estoy seguro de que tiene sus razones, pero ¿por qué quiere/necesito hacer esto? –

+0

@Pekka Me gustaría usar componentes de cada uno.Por lo que sé sobre Zend (he estado trabajando con él durante las últimas 2 semanas), es posible usar componentes de Zend en cualquier proyecto, incluido PHP sin formato. Pero Zend no es perfecto para mis necesidades y necesito más componentes, algunos de los cuales he encontrado fácilmente disponibles en Symfony (ahora comencé a aprender Symfony). Esta presentación que encontré sugiere que es posible combinar los 2, pero se necesitan más detalles sobre cómo hacerlo. – jblue

+0

@jblue Ya veo. Zend es muy modular, por lo que no debería haber ningún problema con el uso de partes de Zend en un proyecto de Symfony. El único problema con el que se puede encontrar es con la carga automática, pero también se puede desactivar completamente en el extremo Zend. Probablemente no puedas utilizar ninguna de las funciones MVC de Zend junto con Symfony: supongo que sería una empresa condenada al fracaso. –

Respuesta

8

Es completamente simple agregar el marco de Zend para ejecutar en Symfony. Hay ciertos componentes del marco de Zend que complementan el marco de Symfony. Actualmente estoy usando Zend para la búsqueda de Lucene, así como su Mailer.

Para utilizar Zend en Symfony, sólo tiene que hacer dos cosas:

  1. Copiar el Zend Framework a tu// vendedor/lib.

  2. Modifique el archivo ProjectConfiguration. (Config/ProjectConfiguration.class.php)

    class ProjectConfiguration extends sfProjectConfiguration 
        { 
        static protected $zendLoaded = false; 
        static public function registerZend() 
        { 
         if (self::$zendLoaded) { return; } 
         set_include_path(sfConfig::get('sf_lib_dir').'/vendor'.PATH_SEPARATOR.get_include_path()); 
         require_once sfConfig::get('sf_lib_dir').'/vendor/Zend/Loader/Autoloader.php'; 
         Zend_Loader_Autoloader::getInstance(); 
         self::$zendLoaded = true;   
         }  
        } 
    

Todo esto se puede encontrar en el tutorial Symfony aquí: http://www.symfony-project.org/jobeet/1_4/Doctrine/en/17

2

De la discusión anterior:

Estaba pensando utilizar Symfony como componentes de Zend base + según sea necesario. Así que usaré la estructura de carpetas de Symfony, pero nada de bootstrap e ini de Zend.

De mi experiencia con ZF, diría que esto definitivamente se puede hacer y que simplemente vale la pena comenzar.

Tendrás que regatear un poco con la carga automática (probablemente deberías cargar todo lo relacionado con Zend de forma manual y no utilizar su autocargador en absoluto) pero aparte de eso, no puedo ver ningún problema. (Descargo de responsabilidad: no conozco a Symfony en profundidad y no puedo comentar sobre posibles colisiones en el espacio de nombres, pero viendo que Zend fue creado para evitarlos, y Symfony es un framework maduro, no creo que encuentres nada imposible.)

2

Si está utilizando Symfony como su marco de nivel superior, es trivial.

De hecho, la integración de un componente de Zend Framework incluso solía ser parte de standard symfony tutorial.

+0

No dije nada sobre la doctrina. Estoy hablando de Zend_Mail, que él integra casi al final. – timdev

Cuestiones relacionadas