Por qué deberías cambiarte ahora a php 7

¿Cómo PHP 7 afecta las páginas web?

Dependiendo de qué uses en tu página, así sea un sistema de gestión de contenidos personalizado, una página web de codificación fija en PHP o una de las CMS más populares disponibles en Internet como WordPress, Joomla, Drupal, Magento, etc. PHP 7 puede afectar tu página web desde varios puntos. Y uno de los más importantes – tu página será el doble de rápido.

En resumen, PHP 7 afectará las páginas web porque es un servidor web autónomo multi-threading, tiene un lenguaje de programación asíncrono, árbol de sintaxis abstracta y mejoras de desempeño enormes.

Ahora pongámonos un poco más técnicos.

Tú deberías saber que para WordPress 3.6, hay más de 200 solicitudes PHP 7 al segundo, mientras que para WordPress 4.1 hay alrededor de 375 solicitudes. Para Drupal 7 hay más de 317 solicitudes PHP 7 al segundo y para el beta de Drupal 8 hay 55 solicitudes PHP 7.

Así que tus páginas web funcionarán mucho mejor porque un PHP fijo tiene muchos problemas relacionados al desempeño, y es el doble de rápido que versiones previas. Además, las cosas funcionarán más fácilmente debido a todas las nuevas funciones de PHP 7 mencionadas anteriormente.

En cuanto a las páginas web de WordPress, PHP 7 puede corromper tu página si el desarrollador de WordPress no trabaja para realizar nuevas versiones estables de WordPress debido a los cambios y actualizaciones incompatibles entre el nuevo PHP y las antiguas versiones de WordPress. Además, plugins, scripts y temas de terceros ahora pueden tener inclusive más errores hasta que lo actualice el equipo de WordPress con PHP 7.

Ya se comenzaron a arreglar y prevenir errores relacionados a PHP 7, trabajo también realizado por algunos desarrolladores terceros, pero la mayoría de ellos no realizan los cambios apropiados rápidamente.

Si quieres migrar de PHP 5 a PHP 7, deberías observar las notificaciones, y especialmente las advertencias, excepciones y errores. La mayoría de los proveedores de hosting te ofrecerán una notificación para que sepas sobre su migración de PHP. Además, no olvides respaldar tu página de WordPress inclusive si estás seguro que la migración se realizará con éxito. Otra buena idea es actualizar temas, traducciones, plugins e inclusive los aspectos generales de tu página antes de la migración.

En cuanto a las páginas con Drupal, parece que trabajan con PHP 7, pero solo en Windows Server IIS 8.5 con bases de datos MySQL y con Zend Opcache activado por ahora.

PHP 7 tiene 490 solicitudes al segundo, mientras que PHP 5.6.6 tiene 310 solicitudes por segundo. Con caché de página habilitado, PHP 7.0 recibe 1800 solicitudes al segundo, mientras que PHP 5.6.6 recibe 1550 solicitudes al segundo. Parece que PHP 7 se está beneficiando más en las páginas web dinámicas. Ni Drupal 7 ni Drupal 8 soportan oficialmente PHP 7. Sin embargo, parece que Drupal 8.0.1 usando HHVM 3.10.1 es más rápido que usar PHP 7. Eso fue probado usando una herramienta de comparación en las siguientes versiones: Ubuntu 14.04, MySQL 5.5.46 y Nginx 1.4.6.

Para Joomla, la versión 3.5 soporta PHP 7, mientras que las versiones más antiguas no lo soportan. Joomla 3.5 viene con la nueva versión 3.5.1 solucionando algunos errores. También tiene funciones como mejoras de diseño UX, editores para imágenes con función de arrastrar y soltar y rotación, y nuevos emojis y notificaciones, datos anónimos, inserción de módulos en artículos, emails, actualizaciones y exportación de información del sistema.

En Magento, PHP 7 ejecuta tres veces más transacciones en el mismo hardware con un tiempo de ejecución más del doble de rápido en comparación a otras versiones de PHP y con un 30% menos de consumo de memoria. Así que en la página de inicio, con Magento 1.9, PHP 7 obtiene 69 solicitudes al segundo, mientras que en la página de catálogos 17 solicitudes al segundo.

Si tienes una nueva página web incorporada en el framework Laravel, recibirás 485 solicitudes al segundo, mientras que con el framework Zend recibirás un poco más, casi 500 solicitudes al segundo. Zend te proporciona un entorno de pruebas, apilación certificada de PHP 7, extensiones probadas y una herramienta de productividad. Symfony también soporta PHP 7, siendo completamente compatible con él. En SugarCRM, PHP 7 recibe 270 solicitudes al segundo.

Comparado con otros lenguajes dinámicos, PHP 7 es más rápido que Ruby 2.1, Python 2.7.8 y Perl 5.18.4.

Como conclusión, tu página web será mucho más rápida, pero necesitas tener tu hosting y tu página web actualizada si no es compatible con PHP 7, ya que dañarás tu proyecto teniendo múltiples errores en el sistema.

Un poco sobre PHP

PHP es un lenguaje de programación usado especialmente por desarrolladores web para crear páginas web y aplicaciones en línea. Es funcional, procesal, imperativo, refractivo y orientado a los objetos, fue creado hace 21 años el 8 de junio de 1995 por Rasmus Lerdorf, y es actualizado por Zend Technologies.

Como lenguajes de implementación, PHP usa C y C++. Hay múltiples extensiones de archivos reconocidos que contienen códigos PHP como .php, .php3, .phtml, .php4, .phps and .php5. El desarrollo y las actualizaciones de PHP fueron influenciados por Perl, C, C++, Java y Tcl.

Una función interesante del lenguaje PHP es que puede ser incrustado en código HTML, para que así puedas crear frameworks como Laravel, Codelgniter, CakePHP, Symfony, Zend Framework 2 y Phalcon; sistemas de gestión de contenido como WordPress, Joomla, Drupal, PrestaShop, OpenCart, Magento y plantillas para varias plataformas. El PHP funciona genial con otros lenguajes de programación como CSS, Javascript, Ajax, y JSON, pero también con SQL, especialmente MySQL. Algunas páginas web reconocidas creadas con PHP son Facebook y Digg, por ejemplo.

PHP 7 viene con muchas funciones

La declaración de tipo escalar, la cual viene en tipo coactivo o estricto. Además, puedes usar parámetros como integradores, cadenas, booleans y números de punto flotante. Las declaraciones de tipo de devolución están soportadas ahora y son similares a las declaraciones de tipo de argumento.

Es añadido un operador null coalescing, y es devuelta su primer operación si existe o es declarada NULA si no existe, sino es añadida la segunda operación.

Spaceship Operator también es soportado, y normalmente, es usado para comparar dos expresiones.

Pueden definirse matrices constantes con define(), no como en PHP 5.6 donde eran definidos con costos.

Las clases anónimas están disponibles a través de nuevas clases.

También es soportada la sintaxis de escape unicode en PHP 7

Closure::call() es una nueva abreviatura para vincular temporalmente el alcance de un objeto a su cierre. Tú puedes utilizar esto también para invocarlo.

Filtered unserialize() es una nueva función que te permite ofrecer una mejor seguridad mientras reviertes la seriación de objetos en datos sospechosos.

IntlChar es una nueva clase que expone funcionalidades ICU adicionales al definir algunos métodos estáticos juntos con constantes que son usadas para modificar caracteres unicode.

Las expectativas son usadas para permitir declaraciones de coste cero en código de producción mejorando esta nueva API mientras que la antigua es mantenida pero no es recomendada.

Las declaraciones de uso grupal son usadas para clases, funciones y constantes cuando quieres importarlos desde el mismo espacio de nombres.

Las expresiones generadoras de devoluciones ayudan a mejorar la funcionalidad generadora de PHP 5.5.

La delegación generadora ahora puede delegar otros generadores.

La división de valor entero con intdiv() ahora es posible.

Las opciones de sesiones están disponibles a través de session_start(), el cual acepta una gran variedad de opciones.

Preg_replace_callback_array() es una nueva función que permite que los códigos sean escritos con más claridad, algo mucho mejor que las otras versiones de PHP anteriores a PHP 7.

También están disponibles las funciones CSPRNG, y ellos también contienen dos funciones añadidas para generar enteros y cadenas criptográficamente seguras.

List() ahora puede descomprimir objetos implementando ArrayAccess cuando previamente no era posible.

Los throwables también fueron cambiados en esta versión, así que no ocurren más errores en la forma en que solían hacerlo. Se comportan casi como excepciones, ambos siendo herederos de la interfaz throwable.

Ha incrementado el nivel de apoyo para la función dirname(), para que así tenga un segundo argumento ahora que muestra cuántos niveles escalas desde la raíz. La sintaxis de variable uniforme es un nuevo estándar añadido en PHP 7, el cual cambia el acceso a las matrices, métodos y propiedades.

El desempeño es dos veces mejor que PHP 5.6, y la velocidad de PHP 7 es casi el doble de rápida que la versión antigua.

El árbol de sintaxis abstracto, también llamado AST, es añadido intermediando la representación del código durante la compilación.

Soporta los sistemas Windows de 64 bits.

Herramientas PHP 7

Para poder probar y verificar tu código PHP 7, pero también para convertir un código PHP antiguo como PHP 5, puedes usar algunas herramientas de PHP 7 disponibles en Internet, como por ejemplo:

  • Php7cc, el cual verifica la compatibilidad entre tu código base y PHP 7.
  • Php7ize arregla tu código añadiendo funciones de PHP 7.
  • PHP7MAR es un asistente de migración que te ayuda a encontrar errores, advertencias y otras notificaciones comparando tu código con PHP 7
  • Exakat es un analizador útil que vuelve el PHP en analíticas. Esta herramienta también es usada por phpMyAdmin.
  • PhpStorm viene con modo PHP 7.
  • Phan es un analizador estático.
  • Vagrant es creado por Rasmus Lerdorf, y puede probar múltiples versiones de PHP.
  • Tuli es otro analizador.
  • Travic C1 es usado para proyectos en PHP 7.

Evitar algunas prácticas de PHP 7

PHP 7 es genial, pero sigue siendo nuevo y no es completamente compatible con todos los sistemas de gestión de contenido y frameworks. Además, al ser tan nuevo, no ha sido probado por muchas personas. Tú deberías evitar algunas cosas porque de otra manera solo tendrás un dolor de cabeza cuando pienses sobre tus páginas y aplicaciones web. Así que evita lo siguiente en PHP 7:

  • No deberías usar funciones mysql_ porque PHP 7 las removerá, lo cual significa que necesitarás usar funciones mysqli_.
  • Además no deberías escribir muchos códigos. Esto no solo es malo para todos los tipos de PHP, sino que también para otros lenguajes de programación. Solo porque PHP 7 es más rápido, eso no significa que puedes reducir los tiempos de carga de tu página web en comparación a las páginas PHP 7 normales al escribir muchos códigos inusuales.
  • No deberías usar etiquetas cerradas de PHP al final del archivo. Por ejemplo, los archivos de WordPress no están usando estas etiquetas cerradas y tampoco los archivos Zend Framework. No es necesario, y puede ocasionarte algunos errores.
  • No deberías usar referencias si no las necesitas, para que así puedas volverte un buen programador.
  • Una mala práctica inclusive para otros lenguajes de programación es usar consultas en un bucle. En este caso, tu consulta nunca terminará.
  • Deja de usar asterisco en solicitudes SQL y comienza a especificar la columna exacta que estás buscando.
  • Nunca confíes en el contenido con el que los usuarios llenan formularios. Siempre deberías filtrar, validar, verificar y buscar los datos apropiados.

No te olvides sobre otros lenguajes. PHP 7 funciona genial con HTML, CSS, JavaScript y MySQL y puedes hacer una excelente página web usándolos todos.

Last modified onWednesday, 14 June 2017 17:12
Por qué deberías cambiarte ahora a php 7 - 5.0 out of 5 based on 1 vote
More in this category: ¿Qué es un centro de datos? »

Leave a comment

Make sure you enter all the required information, indicated by an asterisk (*). HTML code is not allowed.