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!