PHPerKaigi 2024

Outras mudanças

PHP Core

Set(raw)cookie aceita Argumento $option

setcookie() e setrawcookie() agora também suportam a seguinte assinatura:

setcookie(string $name, string $value = "", array $options = []): bool
onde $options é um array associativo que pode ter qualquer uma das chaves "expires", "path", "domain", "secure", "httponly" e "samesite".

Novas Diretivas Syslog ini

As seguintes diretivas ini foram adicionadas para personalizar o log, se error_log for definido como syslog:

syslog.facility
Especifica que tipo de programa está registrando a mensagem.
syslog.filter
Especifica o tipo de filtro para filtrar as mensagens registradas, com os tipos de filtro suportados - all, no-ctrl e ascii. A partir do PHP 7.3.8, o raw também está disponível, restaurando o comportamento do syslog nas versões anteriores do PHP. Este filtro também afetará as chamadas para syslog().
syslog.ident
Especifica a string de identificação que é anexada a cada mensagem.

Garbage Collection

O cyclic GC foi aprimorado, o que pode resultar em melhorias consideráveis de desempenho.

Diversos

var_export() agora exporta objetos stdClass como um array convertido em um objeto ((object) array( ... )), em vez de usar o método inexistente stdClass::__setState().

debug_zval_dump() foi alterado para exibir arrays e objetos recursivos da mesma forma que var_dump(). Agora, ele não os exibe duas vezes.

array_push() e array_unshift() agora também podem ser chamados com um único argumento, o que é particularmente conveniente wrt. O operador de spread.

Interactive PHP Debugger

As constantes não utilizadas PHPDBG_FILE, PHPDBG_METHOD, PHPDBG_LINENO e PHPDBG_FUNC foram removidas.

FastCGI Process Manager

A função getallheaders() agora também está disponível.

Client URL Library

libcurl ≥ 7.15.5 agora é necessário.

Filtragem de Dados

FILTER_VALIDATE_FLOAT agora também suporta a opção thousand, que define o conjunto de caracteres separadores de mil permitidos. O padrão ("',.") é totalmente compatível com versões anteriores do PHP.

FILTER_SANITIZE_ADD_SLASHES foi adicionado como um alias do filtro magic_quotes (FILTER_SANITIZE_MAGIC_QUOTES). O filtro magic_quotes está sujeito a remoção em versões futuras do PHP.

FTP

O modo de transferência padrão foi alterado para binary..

Funções de Internacionalização

Normalizer::NONE está descontinuada, quando o PHP está vinculado com ICU ≥ 56.

Introduzido NNormalizer::FORM_KC_CF como argumento Normalizer::normalize() para normalização NFKC_Casefold disponível quando vinculado a ICU ≥ 56.

JSON

Uma nova flag foi adicionada, JSON_THROW_ON_ERROR, que pode ser usado com json_decode() ou json_encode() e faz com que essas funções lancem o novo JsonException em caso de erro, em vez de definir o estado de erro global que é recuperado com json_last_error() e json_last_error_msg(). JSON_PARTIAL_OUTPUT_ON_ERROR tem precedência sobre JSON_THROW_ON_ERROR.

Multibyte String

A opção de configuração --with-libmbfl não está mais disponível.

ODBC (Unificado)

O suporte para ODBCRouter e Birdstep, incluindo a diretiva ini birdstep.max_links, foi removido.

OPcache

A diretiva ini opcache.inherited_hack foi removida. O valor já foi ignorado desde o PHP 5.3.0.

OpenSSL

As opções de stream ssl min_proto_version e max_proto_version, bem como constantes relacionadas para possíveis valores de protocolo TLS foram adicionadas.

Expressões Regulares (Compatível com Perl)

A PCRE extension foi atualizada para PCRE2, o que pode causar pequenas alterações comportamentais (por exemplo, intervalos de caracteres em classes agora são interpretados com mais rigor) e aumenta a sintaxe de expressão regular existente.

preg_quote() agora também escapa do caractere '#'.

Funções Microsoft SQL Server e Sybase (PDO_DBLIB)

O atributo PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS para habilitar o salto automático de conjuntos de linhas vazios foi adicionado.

O atributo PDO::DBLIB_ATTR_TDS_VERSION que expõe a versão TDS foi adicionado

As colunas DATETIME2 agora são tratadas como colunas DATETIME.

Funções SQLite (PDO_SQLITE)

Os bancos de dados SQLite3 agora podem ser abertos no modo somente leitura, definindo o novo atributo PDO::SQLITE_ATTR_OPEN_FLAGS como PDO::SQLITE_OPEN_READONLY.

Tratamento de Sessão

session_set_cookie_params() agora também suporta a seguinte assinatura:

onde $options é um array associativo que pode ter qualquer uma das chaves "lifetime", "path", "domain", "secure", "httponly" e "samesite" Da mesma forma, o valor de retorno de session_get_cookie_params() agora também possui um elemento com a chave "samesite". Além disso, foi adicionada a nova opção ini session.cookie_samesite para definir o padrão da diretiva SameSite para cookies. O padrão é "" (string vazia), portanto, nenhuma diretiva SameSite é definida. Pode ser definido como "Lax" ou "Strict", que define a respectiva diretiva SameSite.

Tidy

Construir contra » tidyp agora também é suportado de forma transparente. Uma vez que o tidyp não oferece nenhuma API para obter a data de lançamento, tidy_get_release() e tidy::getRelease() retornam 'unknown' neste caso.

Analisador de XML

O valor de retorno do retorno de chamada xml_set_external_entity_ref_handler() não é mais ignorado se a extensão tiver sido criada em libxml. Anteriormente, o valor de retorno era ignorado e a análise nunca parava.

Zip

Compilar com o pacote libzip é desencorajado, mas ainda é possível adicionando --without-libzip à configuração.

Compressão Zlib

A opção de contexto zlib/level para o wrapper compress.zlib wrapper para facilitar a configuração do nível de compactação desejado foi adicionada.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top