PHP 7.4

Neste artigo falaremos com lançamento do PHP 7.4 e as novas funcionalidades que vem com ele!

Para nós que trabalhamos com Magento, essa notícia é importantíssima pois mostra que a linguagem em que o Magento é baseado, PHP, está em constante evolução!

Novas funcionalidades do PHP 7.4

Typed Properties

O typed properties é uma das funcionalidades mais esperadas do PHP 7.4. Ela permite a tipagem de propriedades de uma classe e representa uma melhoria no sistema de tipos da linguagem PHP.

class User
{
    public int $id;
    public string $nome;
    private bool $isAdmin = false;
}

Arrow Functions

Ela permite representar uma closure – uma função anônima que possui conhecimento do escopo externo – de uma forma reduzida.

$numbers = [1, 2, 3, 4, 5];
$factor = 2;

// deve-se deixar claro quais variáveis do escopo
// externo a função terá acesso através de `use`
$newNumbers = array_map(function ($i) use ($factor) {
    return $i * $factor;
}, $numbers);

print_r($newNumbers); // [2, 4, 6, 8, 10]

Spread Operator em Arrays

O PHP possui suporte ao argument unpacking desde a versão 5.6 da linguagem. A funcionalidade permite o “desempacotamento” de um array (Traversable) em uma lista de argumentos utilizando o spread operator.

function sum($a, $b) {
    return $a + $b;
}

// utiliza o spread operator (...) para desempacotar
// um array como uma lista de argumentos
$numbers = [3, 5];
echo sum(...$numbers); // 8


// utiliza o spread operator na definição de um array
// a partir de outro array
$someNames = ['Bob', 'Carol'];
$names = ['Alice', ...$someNames, 'Daniel', 'Elisa'];
print_r($names);
// ['Alice', 'Bob', 'Carol', 'Daniel', 'Elisa'];

Operador de atribuição null coalescing

O PHP possui suporte ao operador null coalesce desde a versão 7.0 da linguagem. A funcionalidade permite verificar se uma variável foi definida e se não é nula. Em caso positivo, utiliza-se o valor da variável para uma atribuição e, caso contrário, utiliza-se um valor padrão.

$name = $data['name'] ?? 'anonymous';
echo $name; // anonymous

No PHP 7.4 está disponível o operador de atribuição null coalesce ??=. Esta funcionalidade é a união do operador de null coalesce com o operador de atribuição.

// verifica se uma variável está definida e não é nula e atribui seu valor
// para si própria e, caso contrário, atribui um valor padrão
$data['comments']['username'] = $data['comments']['username'] ?? 'anonymous';

//usando o operador de atribuição
$data['comments']['username'] ??= 'anonymous';

Para mais informações, acesse.

Aquele abraço!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *