Miércoles, 26 de octubre de 2011
El repositorio de código de la próxima versión de Drupal acaba de integrar el componente HttpFoundation de Symfony2 (ver commit). Este es el componente que transforma la petición de un usuario en un objeto de tipo Request() y el que elabora una página de respuesta mediante la información que se le pasa en un objeto de tipo Response().
El siguiente componente de Symfony2 que se integrará en Drupal 8 será ClassLoader, un componente que carga automáticamente las clases que siguen el estándar PSR-0 de PHP. Y ya se están estudiando más partes de Drupal que se pueden reemplazar con código de Symfony2.
La integración de los componentes de Symfony2 es el resultado de una iniciativa que Drupal comenzó hace casi tres meses. El objetivo es reemplazar código propio por librerías y componentes externos de mucha calidad y que hayan sido probados en multitud de proyectos reales. Las ventajas son una mayor interoperabilidad con otros proyectos PHP y un menor coste de mantenimiento del código.
Después de una evaluación preliminar, los dos frameworks finalistas fueron Symfony2 y Zend Framework 2. Las principales razones por las que se eligió Symfony2 fueron las siguientes:
- El componente HttpFoundation de Symfony2 es más completo y está más desacoplado que su equivalente de Zend Framework.
- Zend obliga a todos los programadores que colaboran con Zend Framework a firmar un acuerdo legal de colaboración llamado Contributor License Agreement. Symfony2 no tiene ninguna traba legal que dificulte la colaboración con el proyecto.
- Cuando Drupal anunció que estaba buscando componentes de otros frameworks, Fabien Potencier (creador de Symfony) y Lukas Smith (core developer de Symfony) se ofrecieron rápidamente a ayudar en todo lo que pudieran. Este ofrecimiento sigue vigente después de la elección de Symfony2.
Con esta incorporación, Symfony2 ya se utiliza en dos de los cuatro proyectos PHP más grandes que existen: phpBB 4 y Drupal 8. Así que el próximo reto consiste en convencer a los otros dos grandes proyectos que quedan: WordPress y Joomla!
Fuente: Drupal 8 adopts Symfony2 and PHP-standard autoloading
Guardado en empresas, phpbb, zend
4 comentarios »
Lunes, 9 de mayo de 2011
La empresa RedHat presentó hace unos días OpenShift, su servicio de Platform-as-a-Service (PaaS) en la nube. OpenShift proporciona toda la infraestructura tecnológica que necesitas para ejecutar tus aplicaciones en la nube.
A diferencia de otros servicios PaaS, CloudShift trata de ser lo más agnóstico posible en lo que respecta a las tecnologías soportadas. Así podrás ejecutar aplicaciones PHP, Java, Python y Ruby junto con el almacenamiento que más te guste, SQL o NoSQL.
Además de los lenguajes de programación, CloudShift también soporta varios frameworks muy populares, entre los que se encuentran Spring, RubyOnRails y Django. En el ámbito de PHP, solamente se han seleccionado dos frameworks: Symfony y Zend Framework.
Por otra parte, Fabien Potencier, el máximo responsable del proyecto Symfony, ha desvelado en una reciente entrevista que Symfony es el primer framework PHP soportado en Microsoft Azure, la plataforma PaaS de Microsoft. Azure es la clave de la estrategia de Microsoft para llevar sus productos a la nube.
La decisión de RedHat CloudShift y de Microsoft Azure demuestra que cuando se trata de aplicaciones de empresa, sólo se tienen en cuenta dos frameworks PHP: Symfony y Zend Framework. Y cuando sólo se puede elegir uno, Symfony tiene las de ganar, ya que también es el framework más popular entre programadores y también el más popular entre el público en general.
Guardado en empresas, symfony, symfony2, zend
Comenta este artículo »
Sábado, 8 de mayo de 2010
Fabien Potencier, creador del framework Symfony, anunció hace dos días la modificación de las normas de escritura (coding standards) del código fuente de Symfony 2. De esta forma, Symfony abandonará su propio estilo de programación para adoptar el estilo estandarizado por PEAR y Zend Framework.
El primer cambio importante ha sido el commit 83c6d337e2fa0b309e8a de github, mediante el que los dos espacios en blanco de tabulación se sustituyen por cuatro espacios en blanco. Como era de esperar, muchos programadores han mostrado su disconformidad con el cambio y sugieren volver a los dos espacios en blanco o utilizar tabuladores.
El propio Fabien ha intentado explicar su decisión mediante comentarios en twitter y github:
“Sólo se trata de adoptar un estándar. A mí tampoco me gusta [el nuevo estilo de programación] pero a la hora de la verdad no es un tema tan importante. (fuente)
“Soy el primero al que no le gustan nada ni los cuatro espacios ni las llaves puestas de esa forma. Pero en serio, no es algo tan importante. Creo que es lo mejor para Symfony y por eso lo hacemos” (fuente)
Después de los cuatro espacios, el siguiente paso será corregir la posición de las llaves de apertura de las sentencias de control (algo que ya se ha añadido en el fork de Symfony de Fabien).
Para los más curiosos, el siguiente comando es el que utilizó Fabien para reemplazar los dos espacios por cuatro en todo el código fuente de Symfony:
find src/ -name '*.php' | xargs perl -p -i -e 's#^((?: )+)#$1$1#mg'
Modificar la posición de las llaves de apertura ha sido un poco más complicado, ya que los comandos utilizados han sido los siguientes:
// replacing in all php files
for i in `find . -name *.php`; do sed -i -r -n '1h;1!H;${;g;s/(\n {8,}(if|else|else ?if|foreach|for|while|do|switch|try|catch) ?[^\r\n]*?) *?[^{a-z0-9$]+?\{([^ ]*)/\1 {\3/g;s/(\n {8,})\}[^}a-z0-9$]+(else|else ?if|while|catch)/\1} \2/g;p;}' $i; done
// checking php linter doesn't report errors (it does in some code templates, but if you check with a clean checkout the errors were already there before)
for i in `find . -name *.php`; do php -l $i 1>/dev/null; done
// dump the diff and filter out irrelevant lines so it's easier to scan because it's freakin' big
git diff | grep '^[+-] ' > changes.diff
Guardado en ide, symfony2, zend
3 comentarios »
Miércoles, 17 de febrero de 2010
La conferencia Symfony Live 2010 ha llegado a su fin y ya se empiezan a publicar las presentaciones de las 20 sesiones celebradas. A continuación se muestra el listado de enlaces a todas las presentaciones:
Primer día:
Segundo día:
Guardado en conferencia, doctrine, sflive2010, symfony, zend
2 comentarios »
Miércoles, 17 de febrero de 2010
Se acaba de hacer oficial una de las sorpresas anunciadas durante la primera jornada del Symfony Live 2010: Symfony 2 utilizará en su código fuente algunos componentes del Zend Framework.
Matthew Weier O’Phinney, máximo responsable del Zend Framework, acaba de confirmar en su blog que Symfony 2 hará uso de Zend_Cache y de Zend_Log en vez de reescribir los respectivos componentes de Symfony 1.X.
Además de ser un magnífico ejemplo de colaboración entre dos de los frameworks PHP más importantes, esta decisión permitirá que los creadores de Symfony se centren en intentar crear el mejor framework de PHP y se olviden de desarrollar componentes similares a los ya existentes en otros frameworks.
Guardado en conferencia, sflive2010, symfony, zend
4 comentarios »