PHP 7 , la nueva versión de PHP ya ha llegado
Ha tardado más de 8 años en liberarse, pero por fin, la nueva versión de PHP, PHP 7, ya ha llegado, para alegría de desarrolladores de todo el mundo. El pasado 3 de diciembre fue liberada la versión estable 7.0.0 de este lenguaje de programación, usado, según W3 por el 81% de las páginas webs, lo que le ha hecho convertirse en uno de los lenguajes más usados del lado del servidor.
Novedades de PHP 7
La novedad principal de esta nueva versión radica en su velocidad, que según señalan los desarrolladores es hasta el doble de rápido que su predecesor, la versión de PHP 5.6. Además, también señalan que el consumo de memoria se ha reducido de manera importante, algo que también se notará de manera muy destacable.
Entre el resto de novedades, quizá podemos destacar:
- Nueva versión de Zend Engine: el equipo de desarrollo ha rediseñado el uso de la memoria de Zend Engine, lo que ha optimizado los procesos y tiempos de ejecución (JIT).
- Importante reducción del uso de memoria
- Árbol sintáctico abstracto
- Soporte consistente a los 64-bits
- Mejora en la jerarquía de estas excepciones
- Generador de números aleatorio más seguro
- Operador de fusión de null: El operador de fusión de null (??) se ha añadido como aliciente sintáctico para el caso común de la necesidad de utilizar un operador ternario junto con isset(). Devuelve su primer operando si existe y no es
NULL
; de lo contrario devuelve su segundo operando.
<!--?php // Obtener el valor de $_GET['usuario'] y devolver 'nadie' // si no existe. $nombre_usuario = $_GET['usuario'] ?? 'nadie'; // Esto equivale a: $nombre_usuario = isset($_GET['usuario']) ? $_GET['usuario'] : 'nadie'; // La fusión se puede encadenar: esto devolverá el primer // valor definido de $_GET['usuario'], $_POST['usuario'], // y 'nadie'. $nombre_usuario = $_GET['usuario'] ?? $_POST['usuario'] ?? 'nadie'; ?-->
- Clases anónimas: Se ha añadido soporte para clases anónimas mediante new clase. Estas se pueden utilizar en lugar de definiciones de clases completas para objetos desechables:
<!--?php interface Logger { public function log(string $msg); } class Application { private $logger; public function getLogger(): Logger { return $this--->logger; } public function setLogger(Logger $logger) { $this->logger = $logger; } } $app = new Application; $app->setLogger(new class implements Logger { public function log(string $msg) { echo $msg; } }); var_dump($app->getLogger()); ?>
El resultado de este ejemplo sería:
object(class@anonymous)#2 (0) { }
- Compatibilidad con la recién salida última versión de OpenSSL (1.0.2e
¿Cómo afecta el nuevo PHP 7 a los principales CMS y Frameworks?
La diferentes pruebas que ya se han realizado con los principales CMS y algunos de lso Frameworks más utilizados por los desarrolladores, han dado como resultado que el uso de PHP 7 no sólo ejecuta el código más rápido, sino que también mejora el rendimiento del servidor, utilizando menos recursos para servir la misma cantidad de información a los usuarios. Veamos una comparativa realizada por Zend.com
Otros cambios del nuevo PHP 7
Por otra parte, y como es lógico, se han corregido varias decenas de bugs y se han eliminado algunas extensiones y funcionalidades ya desfasadas y sobre las cuales ya no se daba soporte. Si quieres acceder al informe completo de los cambios, puedes hacerlo en su changelog.
Además, si no puedes esperar más a probarlo, desde la página oficial de PHP puedes descargar ya la nueva versión, así como una guía para el proceso de migración de proyectos con versiones anteriores.
Comentarios
No hay comentarios todavía.