Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Lanzamiento de PHP 7: Características Clave y Lo Que Necesitas Saber

Si eres desarrollador, probablemente sepas que la versión beta con características completas del nuevo PHP 7 ya está disponible. La versión 7.0.0 contiene muchas características y funcionalidades geniales. Sin embargo, recomendamos no usarla en entorno de producción hasta obtener la versión estable, que se esperaba para noviembre de 2015.

Eres libre de probar y experimentar con la última versión beta, y reportar bugs si los descubres durante las pruebas. Enumeramos todos los cambios/actualizaciones que verás en PHP 7.0.0.

16. Esto es PHP 7 (no 6)

La versión estable actual es PHP 5.6. Así que muchos desarrolladores esperaban la versión 6.0. Lo que no saben es que PHP 6 ya existió en el pasado como proceso experimental, pero nunca llegó a fase de producción. El equipo de desarrollo principal decidió saltarse el nombre PHP 6 para la próxima versión mayor.

15. Soporte de 64 bits en Windows

La versión actual de PHP no proporciona soporte para enteros de 64 bits o archivos grandes. Las cosas van a cambiar en el futuro, ya que PHP 7 introduce soporte consistente de 64 bits, lo que significa que tanto enteros nativos de 64 bits como archivos grandes serán soportados.

14. Eliminación de Funciones y Extensiones Obsoletas

Uno de los principales objetivos de PHP 7 era liberar memoria para permitir mejoras, por lo que fue necesario eliminar APIs de servidor antiguas sin soporte, extensiones y funcionalidades obsoletas.
Todos los elementos eliminados no se han usado durante mucho tiempo. Sin embargo, si tienes una aplicación heredada corriendo en versiones antiguas, actualizar a PHP 7 puede romper potencialmente el código.

Leer: 30 Herramientas de Seguimiento de Bugs para Desarrolladores

13. Declaraciones de Uso en Grupo

Este RFC se creó para mejorar la implementación actual de namespaces de PHP introduciendo el concepto de grupo de declaraciones. Esta característica es útil para programadores que suelen importar muchas clases del mismo namespace. La nueva sintaxis elimina verbosidad, hace tu código más limpio y te ahorra mucho tiempo de escritura.

12. Clases Anónimas

El concepto de clases anónimas ya se usa en otros lenguajes de programación orientados a objetos como Java y C#. No son más que una clase sin nombre que puede acelerar la codificación y el tiempo de ejecución. Deberías usarlas cuando una clase se usa solo una vez durante la ejecución y cuando no necesita ser documentada.

11. Sintaxis Uniforme de Variables

La sintaxis uniforme de variables resuelve muchas inconsistencias en cómo se evalúan las expresiones. Por ejemplo, la capacidad de llamar a closures asignados a propiedades usando ($object->closureProperties)(), así como poder encadenar llamadas estáticas.

En versiones antiguas de PHP, $obj->$properties['name'] accedería a la propiedad cuyo nombre está en la clave name del array properties. Ahora, accedería a la clave name de la propiedad cuyo nombre reside en $properties.

10. Sintaxis de Escape de Punto de Código Unicode

El nuevo carácter de escape (\u) nos permite especificar puntos de código de caracteres Unicode (en hexadecimal) sin ambigüedad dentro de strings. Por ejemplo, si no puedes escribir algún emoji, puedes usar su secuencia de escape en su lugar.

9. Clase Padre Compartida en Manejo de Excepciones

Para programadores de PHP, manejar errores fatales y errores fatales capturables nunca ha sido tarea fácil. Con las nuevas Engine Exceptions, puedes reemplazar este tipo de errores con excepciones.
Para permitir a los programadores capturar tanto excepciones tradicionales como de motor, PHP 7 introduce una nueva clase padre compartida bajo el nombre de \BaseException.

8. Vincular Closure en Llamada

Closure::bind() y Closure->bindTo() te permiten cambiar la vinculación de $this y el ámbito de llamada, por separado o juntos, creando un closure duplicado. En PHP 7, hay una forma fácil de hacer esto en tiempo de llamada, vinculando tanto $this como el ámbito de llamada al mismo objeto con la adición de Closure->call(). El método toma el objeto como primer argumento, seguido de cualquier argumento para pasar al closure.

7. Operador de Coalescencia Nula

El operador de coalescencia se denota con "??". Devuelve el resultado de su primer operando si existe y no es NULL; de lo contrario, devuelve el segundo operando. Eso significa que es completamente seguro usar coalescencia ya que no lanzará un E_NOTICE incluso si el valor no existe.

6. Operador de Comparación Combinado

El operador de comparación combinado (también conocido como operador nave espacial) es similar a version_compare() o strcmp() en comportamiento, pero puede usarse en todos los valores genéricos de PHP. Ya existe en Ruby y Perl.
El operador devuelve -1 si el operando izquierdo es menor, 0 si ambos son iguales y 1 si el izquierdo es mayor.

5. Expresión de Retorno de Generador y Delegación de Generador

La expresión de retorno de generador te permite devolver un valor al completar exitosamente un generador. En PHP 7, puedes llamar a $generator->getReturn() para recuperar el valor de retorno. Si el generador aún no ha retornado o ha lanzado una excepción no capturada, $generator->getReturn() lanzará una excepción. En caso de que el generador haya completado pero no hubo retorno, se devuelve NULL.

La característica de delegación de generador te permite devolver otra estructura iterable que puede ser recorrida, ya sea un iterador, array u otro generador. La iteración de la subestructura la realiza el bucle original más externo, en lugar de uno recursivo.

4. Declaraciones de Tipo de Retorno

A muchos programadores les gustaría declarar el tipo de retorno de una función. Ayuda a prevenir valores de retorno no intencionados y sub-tipos que rompan el tipo de retorno esperado del super-tipo, especialmente en interfaces. Además, PHP 7 viene con 4 nuevas declaraciones de tipo para tipos escalares – string, int, float y bool. Estos nuevos tipos permiten a los programadores especificar que esperan que se devuelva integer, float, string y boolean.
En la imagen superior, la función foo se supone que debe retornar un array. Echa un vistazo a algunos ejemplos complejos.

3. Árbol de Sintaxis Abstracta

El cambio más grande e invisible es la adición de un Árbol de Sintaxis Abstracta (AST) – una representación intermedia del código durante la compilación. Reemplaza la práctica existente de emitir opcodes directamente desde el parser. Esto nos permite eliminar una serie de hacks y hace la implementación más comprensible y mantenible. Además, puedes implementar sintaxis que no era factible con el proceso de compilación de un solo pase.

2. El Nuevo Motor Zend

El primer Zend Engine se introdujo en 1999 en PHP 4. Es un motor de scripting de código abierto (escrito en C) que interpreta PHP. La versión actual de PHP usa Zend Engine II, que proporciona gestión de memoria y recursos y añade un modelo de objetos extensible y mejora significativa de rendimiento al lenguaje.
El nuevo Zend Engine III, originalmente llamado phpng, está en desarrollo para PHP 7.

1. Rendimiento + Ahorro de Memoria

La mayor razón para actualizar a PHP 7 es su rendimiento. Esta es una buena noticia, especialmente para hosts más pequeños, ya que podrán alojar más clientes en el mismo hardware. El rendimiento de la versión 7 está a la par con Facebook HHVM, que cuenta con compilador JIT (just-in-time) que permite compilación en tiempo de ejecución en lugar de previa a la ejecución. También hay un ahorro sustancial de memoria, gracias a la optimización de estructuras de datos internas.

Recomendado: 30 Increíbles Librerías PHP para Programadores y Desarrolladores

Como puedes ver en el gráfico publicado por Zend, una petición de WordPress en PHP 5.6 se ejecuta en menos de 100M instrucciones CPU, mientras que PHP 7 solo ejecuta 25M para hacer el mismo trabajo. Además, las pruebas muestran que puedes ejecutar 3x transacciones de Magento en el mismo hardware, y Drupal 8 corre un 72% más rápido con PHP 7.

Tecnología Industrial

  1. Serie Experto CMMS Parte 5: 9 Estrategias Comprobadas para Implementar su Software de Mantenimiento sin Problemas
  2. Tiempo Takt, Ciclo y Entrega explicados: Definiciones clave, cálculos e impacto en producción
  3. Entendiendo los Multímetros: Tipos, Funciones y Aplicaciones para Ingenieros
  4. Entendiendo la resina flexible: Propiedades, usos y mejores prácticas
  5. Gestión Logística Explicada: Su Papel Crítico y Beneficios Clave
  6. Domine la Panelización de PCB: 7 Directrices Clave de Diseño que Todo Ingeniero Debe Conocer
  7. Por qué un inspector de soldadura certificado interno es esencial para sus proyectos
  8. Causas comunes de fallo en controladores de motor y cómo diagnosticarlas
  9. Guía para contratar una agencia de marketing industrial: Qué esperar
  10. Módulo RTC Esencial: Guía Completa para Medición de Tiempo Precisa
  11. Cuatro estrategias de fabricación que evolucionaron durante la COVID-19