4webs

Prestashop 1.7 se pasa a Symfony 3.4 y a PHP 5.6

Symfony es un framework muy completo diseñado para optimizar el desarrollo de las aplicaciones web basado en el patrón Modelo Vista Controlador. Ofrece varias herramientas y clases con el objetivo de reducir el tiempo de desarrollo de una aplicación web compleja. Separa la lógica de negocio, la del servidor y la presentación de la aplicación web. Adicionalmente automatiza las tareas más comunes, pudiendo el desarrollador enfocarse por completo a los aspectos concretos de cada aplicación. Como resultado, tenemos un framework sencillo de utilizar cada vez que se crea una nueva aplicación web.

¿Por qué desarrollar con Symfony?

Porque es un framework utilizado por millones de desarrolladores y muy fácil de utilizar como decíamos. La organización limpia del código siendo éste ligero y legible para posteriores desarrolladores es sinónimo de asegurarnos un mantenimiento y ampliaciones futuras de esta aplicación. Si deseas desarrollar aplicaciones profesionales, que sean escalables y rápidas, lo mejor es pasarse a Symfony y es que, si además tienes una tienda Prestashop o estás desarrollando una, si aún no lo sabes, Prestashop con el lanzamiento de la versión 1.7 pasó a funcionar con Symfony.

Características del framework Symfony

  • Está basado en el patrón de diseño MODELO VISTA CONTROLADOR (MVC).
  • Su instalación y configuración es muy sencilla y es compatible para la mayor parte de plataformas y en especial la de ecommerce Prestashop.
  • Es independiente del sistema gestor de las bases de datos.
  • Es sencillo de utilizar por lo general y es flexible adaptándose a casos más complejos.
  • Cuenta con una gran comunidad en la que existen multitud de Bundles facilitan el hecho de extender características de nuestra aplicación con muy poco esfuerzo.
  • Es Fácilmente extensible permitiendo la integración con librerías desarrolladas por terceros.
  • Está preparado para las aplicaciones empresariales porque se adapta a las políticas y arquitecturas propias de cada compañía, motivo suficientemente estable como para poder desarrollar aplicaciones a largo plazo.

Situación actual de PrestaShop

Desde noviembre de 2016 y con el lanzamiento de la versión 1.7.0, PrestaShop usa Symfony 2.8 y requiere PHP 5.4+ para ejecutarse. Si en ese momento se decantó por la versión 2.8 de Symfony fue porque, por aquel entonces y según PS, era la versión actual de soporte de larga duración de Symfony. PHP 5.4+ era el requisito más bajo para Symfony 2.8 y, según sus cálculos, la mayoría de las instalaciones existentes de PrestaShop ya se ejecutaban en una versión de PHP por encima de 5.4.

Después de un año aproximadamente y con la versión actual de LTS (Long Term Support Version) para Symfony es la 3.4 con el añadido de que PHP 5.4 ya no recibe parches de seguridad y menos del 10% de las instalaciones de PrestaShop están en PHP 5.4 o menor. Además, el soporte de corrección de errores para Symfony 2.8 finalizará en noviembre de 2018 y los parches de seguridad no estarán disponibles después de noviembre de 2019 según la página de comunidad Symfony.

¿Por qué elegir Symfony 3.4 sobre 2.8?

Por lo anteriormente citado, porque no tiene sentido seguir trabajando con una versión que en breves quedará obsoleta y sin seguridad. Tiene sentido empezar a desarrollar con Symfony 3.4 en lugar de 2.8. Y como Symfony 3.4 requiere PHP 5.5.9+, PrestaShop 1.7.4 requerirá PHP 5.6+ para ejecutarse. Desde junio de 2015, PrestaShop sigue un esquema de control de versiones más semánticas. Y esta es la parte donde podríamos preguntarnos si no están rompiendo las versiones semánticas al cambiar los requisitos de dependencias en una versión menor.

De acuerdo con la definición de versiones semánticas, la respuesta es que no: se puede cambiar la versión de dependencias en una versión menor o incluso en una versión de parche. Pero esa es solo la respuesta técnica, lo importante es que no están fastidiando las tiendas existentes en principio. Según esta plataforma de ecommerce, lo que solía funcionar seguirá funcionando. ¿También puede que te preguntes por qué no saltan directamente a Symfony 4.0? Aquí están las respuestas por parte de Prestashop:

  • V4 requiere PHP 7.1, que es demasiado grande para muchas tiendas en este momento.
  • V3.4 tiene todas las características nuevas de v4, pero es una versión LTS mientras que v4 no lo es.

¿Qué es lo que cambia?

Lo que nosotros recomendamos que ejecutes la instalación de PrestaShop en la última versión de PHP. PrestaShop 1.7.0 a 1.7.3 es compatible con PHP 7.1 y PrestaShop 1.7.4 será compatible con PHP 7.2. Y para los desarrolladores de PrestaShop, Symfony 3.4 y PHP 5.6 significa que se podrán usar todas las características nuevas de PHP 5.5 y 5.6: generadores, finalmente en try catch block o ::class para resolución de nombres de clase y más.