banner-lanzamiento-php7

El día 3 de diciembre se dio a conocer el lanzamiento oficial de PHP 7, desde hace algún tiempo se esperaba esta noticia ya que hubo muchos rumores entre los cuales se destacaba un aumento substancial en cuanto a la velocidad.

Veamos algunas de las novedades que trae consigo PHP 7.

Scalar type Declarations

PHP nos permite validar el tipo de valor que recibimos en una función como por ejemplo un array, un objeto, etc. ahora en la versión 7 también podemos definir datos de tipo escalar.

Un escalar es una constante o variable que contiene un dato atómico y unidimensional. En contraposición al concepto de escalar, están los conceptos de array (vector), lista y objeto, que pueden tener almacenado en su estructura más de un valor.

Si usamos una función que recibe estrictamente un array como parámetro podemos escribir:

function arrayTest(array $array)
{
    return $array;
}

Ahora en PHP 7 podemos definir valores escalares como int, bool, etc.

function intTest(int $val)
{
    return $val;
}

Retornar un tipo específico de dato en una función

Así como podemos escribir los tipos de datos que recibe una función, ahora podremos ademas definir que tipo de dato debería devolver dicha función por medio de la declaración.

function someTest(array $array)
{
    return $array;
}

Esta función devolvería un array, simple. Ahora vamos a forzar a que sea estrictamente ese tipo de dato y lo hacemos de esta manera:

function someTest(array $array) : array
{
    return true;
}

En este caso la función va a fallar porque estamos tratando de retornar un valor booleano true en lugar de un array. Con lo que ayudaría a brindar un poco más de protección de nuestro código.

Null Collapsable Operator

Muy útil al momento de definir valores por defecto si una variable no está definida, por ejemplo

$username = $val ?? 'foo';

En este caso devolvería 'foo' porque no se ha definido el valor $val. Sería equivalente a lo que podemos hacer actualmente con:

$username = isset($val) ? $val : 'foo';

Spaceship operator

Permite realizar comparaciones del tipo “menor que”, “mayor que” o “igual que” de forma simultanea.

// Integers
echo 1 <=> 1; // devuelve 0
echo 1 <=> 2; // devuelve -1
echo 2 <=> 1; // devuelve 1

Arrays constantes

Nos permite definir un array de una forma un poco más directa, por llamarlo de algún modo.

define(‘test’, [1,2,3,4]);

test[0] = 1;

Declaraciones agrupadas

Cuando declaramos clases dentro de otras, por ejemplo usamos:

use App\User;
use App\Validator;

Ahora PHP 7 nos permite agrupar estas declaraciones de la siguiente forma:

use App\{User, Validator};

Y por supuesto sigue siendo permitido el uso de alias como:

use App\{User, Validator as Validate};

División de enteros

Cuando queremos dividir dos números y obtener como resultado un valor entero sin decimales podemos usar

intdiv(15, 4); // devuelve 3

Estas son tan solo algunas de las nuevas funcionalidades que trae esta actualización, pronto traeremos más tutoriales donde explicaremos poco a poco cada una de las mejoras, pero si estás un poco impaciente por saber más puedes visitar la documentación oficial.
Esperamos una nueva actualización de Homestead que incluya la actualización de PHP 7, por ahora Taylor Otwell ha anunciado la actualización del box de prueba homestead-7″


No olvides compartir esta gran noticia en las redes sociales y comentarnos que te parece.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.