PHP 7 nuevas características

Scalars Type hints:

PHP 7 agrega los type hints int, float, string y bool a los que ya existian que era Objetos y array.

function sendEmail(string $email, int $times, float $number, bool $sendNow = TRUE) {
    //..
}

Esta declaración no fuerza la comprobación, solo intenta convertir el valor al tipo declarado. Si agregamos la directiva declare(strict_types=1); al principio del archivo, si forzaremos la comprobación, pero solo en ese archivo.

Return type hints

Tambien podemos utilizar los mismos para el retorno de funciones o métodos

function sayHello(string $name) : string {
    return 'Hello '.$name;
}

Si retornamos otro valor, recibiremos un error \TypeError.

Anonymous classes:

Generator delegation:

Generator return expressions:

The null coalesce operator:

Este nuevo operador (??) nos permite escribir expresiones más cortas.

$name = $_GET['name'] ?? 'N/A';

Retorna el valor del primer operando si existe y es distinto de null sino, devuelve el segundo operando.

The spaceship operator:

Nos permite hacer comparaciones de «3 vías», es decir que el resultado de la comparación puede ser true, false y otro valor más. (expr) <=> (expr)
Este operador retorna:
A. 0 si los operandos son iguales
B. 1 si el operando de la izquierda es mayor
C. -1 si el operando de la derecha es mayor

Constant arrays

// Constante de clase
class MyApp {
    const APP = [
        'name' => 'MyApp',
        'edition' => 'Beta',
        'version' => '2.1.2',
        'licence' => 'MIT'
        ];
}

interface MyApp {
    const APP = [
        'name' => 'MyApp',
        'edition' => 'Beta',
        'version' => '2.1.2',
        'licence' => 'MIT'
        ];
}
// Constante utilizando define
define('APP', [
        'name' => 'MyApp',
        'edition' => 'Beta',
        'version' => '2.1.2',
        'licence' => 'MIT'
        ];
}

Uniform variable syntax:

Throwables:

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *