Novas Funcionalidades
PHP Core
Propriedades somente leitura
Classes anônimas agora podem ser marcadas como somente leitura.
Propriedades somente leitura agora podem ser reinicializadas durante a clonagem.
Constantes de Classe Tipadas
Constantes de classe, interface, trait e enum agora suportam declarações de tipo.
Closures criados a partir de métodos mágicos
Closures criados a partir de métodos mágicos agora podem aceitar argumentos nomeados.
O modificador final com um método de uma trait
O modificador final agora pode ser usado ao utilizar um método de uma trait.
Sobreposição de atributos
Foi adicionado o atributo #[\Override] para verificar se um método existe em uma classe pai ou interface implementada.
Sintaxe para buscar constantes de classe dinamicamente.
Agora é possível acessar constantes de classe de forma dinâmica usando a sintaxe
C::{$name}
.
Inicializadores de variáveis Estáticas
Os inicializadores de variáveis estáticas agora podem conter expressões arbitrárias.
Sintaxe de valor de fallback para variáveis ini
O arquivo php.ini agora suporta a sintaxe de valor de fallback/default.
<?php
/*
No arquivo /path/to/user.ini estão contidas as seguintes configurações:
listen = localhost:${DRUPAL_FPM_PORT:-9000}
*/
$user_ini = parse_ini_file('/path/to/user.ini');
echo $user_ini['listen']; // localhost:9000
CLI
Agora é possível verificar a sintaxe de vários arquivos.
DOM
Foram adicionadas as propriedades DOMElement::$className e DOMElement::$id. No momento, essas propriedades não são seguras para binários devido a limitações subjacentes do libxml2. Isso significa que os valores das propriedades serão truncados em um byte NUL.
Foram adicionadas as propriedades DOMNode::$isConnected e DOMNameSpaceNode::$isConnected.
Foram adicionadas as propriedades DOMNode::$parentElement e DOMNameSpaceNode::$parentElement.
FFI
Agora é possível atribuir FFI\CData a outros FFI\CData. Isso significa que CData pode ser atribuído a estruturas e campos.
Opcache
opcache_get_status()['scripts'][n]['revalidate']
agora contém
um carimbo de data e hora Unix que indica quando a próxima revalidação do carimbo de
data e hora dos scripts está programada, de acordo
com a diretiva INI
opcache.revalidate_freq;
POSIX
A função posix_getrlimit() agora aceita um parâmetro opcional
$resource
para permitir a busca de um único limite de recurso.
A função posix_isatty() agora gera avisos de tipo para inteiros, seguindo as semânticas ZPP usuais.
A função posix_ttyname() agora gera avisos de tipo para inteiros, seguindo as semânticas ZPP usuais, e avisos de valor para inteiros de descritor de arquivo inválidos.
Streams
Agora, Streams podem emitir a notificação STREAM_NOTIFY_COMPLETED
.
Isso não era previamente implementado.