Error al desplegar Symfony en el servidor: PHP version «>= 8.0.0»

Tras desplegar un proyecto nuevo de Symfony en el servidor de producción me he encontrado con este problema:

Composer detected issues in your platform:

Your Composer dependencies require a PHP version ">= 8.0.0". You are running 7.3.29.

Tras verificar que la versión de PHP era la correcta, y tras dar algunas vueltas por el fichero composer.json para comprobar que todo estaba en orden, probamos a forzar al actualización de composer sobre el servidor. Mano de santo!

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Descargamos un composer.phar de la página oficial de Composer y ejecutamos una actualización sobre el proyecto:

php composer.phar update

Frameworks PHP: Zend vs Symfony

Cuando uno se plantea por primera vez el uso de un framework en PHP comienza a darle vueltas a las posibilidades que ofrecen unos y otros. Aunque la curva de aprendizaje en el uso de un framework es dura, todo el tiempo que le dediquemos a conocer a fondo aquel por el que nos decidamos será el tiempo mejor invertido en formarnos como desarrolladores.

En este caso quiero plantear una comparación entre dos de los frameworks más extendidos Zend y Symfony.

Documentación y aprendizaje. Com he dicho la curva de aprendizaje para poder usar correctamente y con soltura un framework necesita de un esfuerzo, mucho más si llevamos años programando sin usarlo. Symfony dispone de guias y manuales en abundancia, y además cuenta con numerosos foros en varios idiomas donde la comundad va resolviendo dudas. En el caso de Zend, a pesar de ser el framework de la empresa que está detrás de PHP, la comunidad es algo escasa, por tanto su documentación también.

Pruebas unitarias. Symfony dispone de tareas por linea de comandos para realizar testing, y además genera una clase vacia con cada nuevo controdalor desde el que poder realizar las pruebas. Zend no dispone de esta funcionalidad, algo que me parece muy importante a la hora de lanzar una aplicación a un entorno de producción.

Plantillas y plugins. Al sistema de plantillas de Zend le queda todavía un largo camino que recorer, mientras que en Symfony el sistema está ya muy avanzado, con la posibilidad de agragar módulos. Y otro tanto ocurre con los plugins, en Symfony es posible aumentar sus funcionalidades a base de plugins, mientras que Zend carece de esta característica.

Bases de datos. El trabajo con base de datos en Zend se limita a usar ActiveRecord (que no digo que esté mal), pero en Symfony tienes la posibilidad de usar el motor de base de datos que quieras, incluyendo el propio Zend_Db, algo que aporta una enorme flexibilidad al desarrollador que puede elegir en cada proyecto cual es la mejor opción.

Como conclusión a lo dicho quiero añadir, para todos aquellos que quieran dar el salto a hacer desarrollos basados en un framework, que a pesar de que al principio pueda resultar un poco engorroso con el tiempo os ayudará a mantener una limpieza de código y un mantenimiento de aplicaciones mucho más sencillo.

Soporte para Symfony en Netbeans 7.0

Ya es oficial, Netbeans 7.0 contará con soporte para Symfony, después de que la votación recibiese 469 votos a favor del soporte de este framework de PHP en la próxima versión de Netbeans.

Una gran decisión por parte de Netbeans incluir soporte para uno de los mejores frameworks de PHP he probado hasta la fecha. Y espero que siga mejorando, para finales de este año se espera que esté lista la versión 1.2 de Symfony, de momento ya esta disponible la beta 2 para probar sus nuevas funcionalidades.

Aunque personalmente prefiero usar Eclipse con PDT como IDE para el desarrollo en PHP (tengo que recordar probar este plugin para Simfony), es una gran noticia que Netbeans tenga soporte Symfony, esto ayudará a que más gente se anime a usar el framework.