Acaba de hacerse oficial el lanzamiento de PHP 7.0.0. La nueva versión del lenguaje incluye numerosas mejoras y sobre todo un aumento de rendimiento considerable. Algunas de las nuevas características de PHP 7 son:
- Tipo de retorno en las funciones: Por fin se podrá declarar que devuelve una función o método. Esta es una característica que siempre he echado en falta en PHP. Sobre todo cuando se diseñan interfaces o clases abstractas, poder indicar que debe devolver un método es algo muy útil. Ejemplos.
- Declaración de tipos escalares: Se trata de poder definit el tipo de una variable para
int
,float
,string
ybool
. Esto es útil por ejemplo para definir los parámetros de una función o método. También se definen dos niveles de exigencia: normal y estricto. El segundo se controla mediante la directivadeclare(strict_types=1);
(en la primera línea del script) e implica un control estricto de los tipos escalares provocando errores de tipoE_RECOVERABLE_ERROR
en caso de incumplimiento. Ejemplos. - Nuevo operador ?? (coalesce): El operador de doble interrogación
??
permite devolver un valor específico si una variable no está definida. Por ejemplo$username = $_GET('username') ?? null;
sería equivalente a$username = isset($_GET('username')) ? $_GET('username') : null;
. Ejemplos. - Nuevo operador de comparación <=> (spaceship): La operación
$a <=> $b
devuelve 0 si $a y $b son iguales; devuelve -1 si $a es menor que $b; y devuelve 1 si $a es mayor que $b. Es decir lo mismo questrcmp()
pero no limitado a strings. Funciona con variables de tipoint
,float
,string
,array
e inclusoobject
. Ejemplos. - Sintaxis uniforme de variables: Se ha añadido soporte completo a construcciones de variables complejas, pero con consistencia. Por ejemplo
[$obj1, $obj2][0]->prop
,$foo->bar()()
,(function() { ... })()
,"string"->toLower()
, etc. Ejemplos. - Solución de errores históricos.
Enlaces
- PHP 7.0.0 Released in PHP.net [EN]
- Novedades PHP 7 [ES]
- PHP 7 Características y Fecha de Lanzamiento [ES]