PHP 7, la actualización mas importante y mas deseada para el languaje de desarrollo web lado servidor PHP, está a la vuelta de la esquina. De acuerdo con el calendario del grupo de proyecto de PHP 7 y como mencionado en la wiki de PHP.net, si todo va según lo previsto, su versión final será lanzada el 12 de noviembre, 2015. Mientras tanto, nosotros como futuro usuarios finales podríamos considerar la opción de testear con la última versión beta así de tener una visión general de cómo este cambio a PHP7va a afectar a nuestro trabajo de desarrollo.
Si eres un desarrollador web/gestor de sus sitios en WordPress (o de cualquier otro CMS basado en PHP como Joomla, Drupal, Magento), esta guía informativa no sólo te dará una idea de lo nuevo que viene en PHP 7 sino también responderá a todas tus preguntas relacionadas con la nueva versión de PHP!
Vamos a ver los detalles!
Qué hay de nuevo en PHP 7?
En primer lugar, echemos un vistazo a algunas de las interesantes funciones y mejoras que verás en la versión de PHP 7:
Enormes Mejoras en el rendimiento:
PHP siempre ha sido criticado por los problemas relacionados con el rendimiento, lo que mejora en gran medida en PHP 7. Incluso, la escaséz de prestaciones de PHP impulsó Facebook a construir HHVM - una máquina virtual diseñada para maximizar el rendimiento de las aplicaciones basadas en PHP. Dado que la nueva versión de PHP se basa en el proyecto PHPNG (PHP Next-Gen), da hasta un 50% de impulso a aplicaciones del mundo real y compila más rápido que HHVM.
Dos veces más rápido que las versiones anteriores:
PHP 7 es casi 2 veces más rápido que PHP 5.x. No sólo se ejecuta el código más rápido, pero también requiere menos servidores para manejar la misma cantidad de solicitudes por segundo. Como ejemplo, la página de WordPress ahora requiere instrucciones de la CPU de circa el 72% menores para ejecutar que antes. Eso es porque PHP 7 recibe una nueva versión (rediseñada) de Zend Engine, que añade una mejora de la velocidad significativa al languaje.
Nuevos Operadores:
PHP 7 introduce dos nuevos operadores: "Spaceship"(Comparación Combinada) y "Null Coalescente". Donde el operador de l"Spaceship"(<=>) hace que su comparación encadenado sea más concisa, por otra parte, el operador "Null Coalescente"(??)se utiliza para comprobar si existe algo. Sin embargo, ambas tareas podrían llevarse a cabo antes, pero probablemente no en todas las condiciones.
Return y Sugerencias de Tipo Escalar(Scalar Type Hints):
En la nueva versión de PHP, los desarrolladores podrán utilizar booleanos, cadenas, flotadores y enteros como sugerencias de tipo de funciones. Asimismo, estarán autorizados a declarar el tipo de retorno de una función. Esto le ahorrará a pasar y devolver mal tipos de funciones, que pueden conducir a un comportamiento impredecible en el código.
Excepciones del motor:
La gestión de errores fatales y fatales recuperables existentes siempre ha sido una tarea hercúlea para los desarrolladores de PHP. Pero ahora, las excepciones aplicadas en el nuevo motor Zend facilitarán el manejo de errores en la aplicación. Las nuevas excepciones en el motor reemplazarán estos tipos de errores, por lo que hacen posible que los desarrolladores puedan atrapar todos los errores fatales y tomar la acción apropiada inmediatamente.
Soporte de 64 bits consistente:
A pesar de que el entorno nativo de PHP es Linux, pero todavía se puede ejecutar en un sistema alimentado en Windows. Dado que las versiones anteriores de PHP no tienen soporte para un archivo grande o entero de 64 bits, las build x64 de PHP para Windows se han considerado experimentales todavía. Por el contrario, la versión 7 tiene características de apoyo constante de 64 bits que permite ejecutar con confianza PHP en un sistema Windows de 64 bits.
Grupo de Uso de Declaraciones (Group Use Declarations):
PHP 7 introduce un nuevo concepto, denominado Grupo de Uso declaraciones, lo que mejora considerablemente la aplicación del espacio de nombres de PHP. La nueva sintaxis permite que usted importe múltiples clases de un mismo espacio de nombres, es decir que esta nueva función le ahorrará mucho tiempo a escribir y también hacer que el código sea más corto y fácil de leer.
Soporte a clases anónimas:
Al igual que otros lenguajes de programación como Java y C #, la nueva versión de PHP permite utilizar clases anónimas en su código. Una clase anónima es una clase sin nombre. Cuando se utiliza correctamente,las clases anónimas no sólo pueden mejorar su codificación, también pueden acelerar el tiempo de ejecución en gran medida.
Resumen de sintaxis árbol (AST):
Otro gran cambio realizado en núcleo de PHP es el uso de sintaxis abstracta del árbol (AST) como una etapa intermedia en el proceso de compilación del lenguaje. Esta mejora sería principalmente visible para los desarrolladores y no tener ningún impacto directo en el código del usuario. Hay varias ventajas de utilizar AST, incluyendo el potencial para más optimizaciones futuras del PHP, las posibilidades de la utilización de herramientas como analizadores de código estático y una mejor calidad del código, etc.
Artículos obsoletas eliminados:
Para hacer PHP aún más rápido, una serie de funcionalidades en desuso y las API y las extensiones muertas de servidor o no compatibles se han eliminado de la versión 7. Algunos de los artículos que se retiran de PHP 7 son constructores de estilo PHP4, etiquetas de estilo ASP, ereg y extensiones de MySQL etc. Para más detalles, es posible echar un vistazo a las funcionalidades en desuso que retiró en PHP7.
Pero, ¿dónde está PHP 6?
Después de familiarizarse con las características interesantes de PHP 7, que sin duda querrá saber por qué PHP se trasladó a la versión 7 de la versión 5. ¿Qué pasó con la versión 6? Bueno, PHP 6 era un proyecto experimental que se inició oficialmente en 2005 y lamentablemente abandonó en 2010. Una de las principales razones detrás de la terminación de la versión 6 fue dificultades técnicas al que se enfrentaron los desarrolladores del núcleo de PHP durante la implementación del lenguaje integrado Unicode.
Mientras tanto, la gente en la web adoptaron el nombre PHP 6 y empezaron a escribir libros y el desarrollo de recursos relacionados con la versión 6. Dado que puede haber confusión entre la antigua intento y el trabajo de desarrollo actual, el equipo básico de PHP se vio obligado a pensar seriamente en el nombre de la nueva versión. Y, por último, el equipo de desarrollo decidió saltarse el número lógico 6 y lanzar la nueva versión bajo el nombre de PHP 7.
¿Cómo puede PHP 7 realmente afectar a nuestro sitio WordPress?
A pesar de que el equipo de desarrollo WordPress está trabajando continuamente en hacer que el CMS sea listo para PHP7, la última versión de PHP puede romper su sitio. La razón es la incompatibilidad de temas y plug-ins con PHP 7. A pesar de que WordPress ha sugerido el tema y los autores de plugins para conseguir familiarizarse con todos los cambios incompatibles, atrasados y en consecuencia proceder a la actualización de los packages, la mayoría de los temas y plug-ins aún no están listos para la el próximo lanzamiento de PHP 7.
Desde WordPress han comenzado a fijar todos los temas posibles relacionados con PHP 7, más y más personas están tomando las medidas necesarias para hacer de sus temas y plug-ins compatibles con PHP 7. Por ejemplo, el autor de "Simple Social Icons" ya ha actualizado el plug para que sea PHP 7 compatible. Eso significa que, poco después del lanzamiento oficial de PHP 7, no sólo WordPress apoyaría plenamente PHP 7, sino también todos los temas y plug-ins tendrán que haber sido actualizados para trabajar con la versión 7. En pocas palabras, considere actualizar su sitio web para PHP 7 sólo cuando encontramos todo (alojamiento de servidores, temas, plug-ins y WordPress, etc) compatible a la versión 7.
Cosas cruciales a tener en cuenta al realizar la migración de PHP 5 a PHP 7
Así que si has decidido mover tu sitio de WordPress desde PHP 5 de PHP 7 justo después del lanzamiento oficial de la versión 7, aquí están algunas de las mejores prácticas que se deben seguir para evitar cualquier problema antes, durante y después de la migración:
Quedate atento a las Notificaciones:
Antes de implementar cualquier actualización de PHP, la mayoría de los proveedores de alojamiento enviar una notificación a los propietarios del sitio. El propósito de esta notificación es hacer que se informe acerca de la actualización para que puedas mantener una mirada hacia fuera para ver si algo sale mal. Así que ten cuidado continuo para las notificaciones y informa a tu proveedor de alojamiento de inmediato si has encontrado algo malo.
Copia de seguridad de tu sitio de WordPress:
Incluso si estás totalmente seguro de que la actualización de PHP no romperá tu sitio web, siempre es bueno tener un plan alternativo. Independientemente de si recibes la notificación de tu proveedor de hosting, siempre hay tener una copia guardada de tu sitio en varias ubicaciones. Esto te ahorrará de cualquier desastre imprevisto que pueda ocurrir durante la migración.
Mantener todo Actualizado antes de la migración:
Antes de pasar a PHP 7 de PHP 5, actualiza todos los elementos (incluyendo temas y plugins) relacionados con tu sitio de WordPress. Esto evitará que estos (y otros) elementos dejen espacio a una parada inesperada de tu trabajo después de la actualización a PHP7. Además ten en cuienta que si un cierto elemento no es compatible con la nueva versión del lenguaje, todo va a dejar de funcionar.
Pónte en contacto con tu proveedor de alojamiento:
Para obtener más ayuda, considera ponerte en contacto con equipo de soporte de tu proveedor de alojamiento web. En el caso que tu proveedor de alojamiento web no pueda resolver completamente tus problemas, a continuación, instala una nueva copia de WordPress y restaura tu sitio desde una copia de seguridad.