Files
archived-doc-pt-br/appendices/migration73/other-changes.xml
2025-05-31 11:15:10 -03:00

352 lines
12 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 97c4cc92207255ea09308d2646441dd61448d924 Maintainer: leonardolara Status: ready --><!-- CREDITS: marcosmarcolin,leonardolara -->
<sect1 xml:id="migration73.other-changes" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Outras mudanças</title>
<sect2 xml:id="migration73.other-changes.core">
<title>Núcleo do PHP</title>
<sect3 xml:id="migration73.other-changes.core.setcookie">
<title>Set(raw)cookie aceita Argumento $option</title>
<para>
<function>setcookie</function> e <function>setrawcookie</function> agora também
suportam a seguinte assinatura:
<methodsynopsis>
<type>bool</type><methodname>setcookie</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>value</parameter><initializer>""</initializer></methodparam>
<methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
onde <literal>$options</literal> é um array associativo que pode ter
qualquer uma das chaves <literal>"expires"</literal>, <literal>"path"</literal>,
<literal>"domain"</literal>, <literal>"secure"</literal>,
<literal>"httponly"</literal> e <literal>"samesite"</literal>.
</para>
</sect3>
<sect3 xml:id="migration73.other-changes.core.syslog">
<title>Novas Diretivas Syslog ini</title>
<para>
As seguintes diretivas ini foram adicionadas para personalizar o log, se
<link linkend="ini.error-log">error_log</link> for definido como
<literal>syslog</literal>:
<variablelist>
<varlistentry>
<term><link linkend="ini.syslog.facility">syslog.facility</link></term>
<listitem>
<simpara>
Especifica que tipo de programa está registrando a mensagem.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><link linkend="ini.syslog.filter">syslog.filter</link></term>
<listitem>
<simpara>
Especifica o tipo de filtro para filtrar as mensagens registradas, com os
tipos de filtro suportados - <literal>all</literal>,
<literal>no-ctrl</literal> e <literal>ascii</literal>.
A partir do PHP 7.3.8, o <literal>raw</literal> também está disponível,
restaurando o comportamento do syslog nas versões anteriores do PHP.
Este filtro também afetará as chamadas para <function>syslog</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><link linkend="ini.syslog.ident">syslog.ident</link></term>
<listitem>
<simpara>
Especifica a string de identificação que é anexada a cada mensagem.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect3>
<sect3 xml:id="migration73.other-changes.core.gc">
<title>Garbage Collection</title>
<para>
O <link linkend="features.gc.collecting-cycles">cyclic GC</link> foi
aprimorado, o que pode resultar em melhorias consideráveis de desempenho.
</para>
</sect3>
<sect3 xml:id="migration73.other-changes.core.misc">
<title>Diversos</title>
<para>
<function>var_export</function> agora exporta objetos <classname>stdClass</classname>
como um array convertido em um objeto (<code>(object) array( ... )</code>), em vez de
usar o método inexistente <methodname>stdClass::__setState</methodname>.
</para>
<para>
<function>debug_zval_dump</function> foi alterado para exibir arrays
e objetos recursivos da mesma forma que <function>var_dump</function>. Agora, ele não
os exibe duas vezes.
</para>
<para>
<function>array_push</function> e <function>array_unshift</function> agora
também podem ser chamados com um único argumento, o que é particularmente conveniente
wrt. O operador de spread.
</para>
</sect3>
</sect2>
<sect2 xml:id="migration73.other-changes.phpdbg">
<title>Interactive PHP Debugger</title>
<para>
As constantes não utilizadas <constant>PHPDBG_FILE</constant>,
<constant>PHPDBG_METHOD</constant>, <constant>PHPDBG_LINENO</constant> e
<constant>PHPDBG_FUNC</constant> foram removidas.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.fpm">
<title>FastCGI Process Manager</title>
<para>
A função <function>getallheaders</function> agora também está disponível.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.curl">
<title>Client URL Library</title>
<para>
libcurl ≥ 7.15.5 agora é necessário.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.filter">
<title>Filtragem de Dados</title>
<para>
<constant>FILTER_VALIDATE_FLOAT</constant> agora também suporta a opção <literal>thousand</literal>,
que define o conjunto de caracteres separadores de mil permitidos. O padrão
(<code>"',."</code>) é totalmente compatível com versões anteriores do PHP.
</para>
<para>
<constant>FILTER_SANITIZE_ADD_SLASHES</constant> foi adicionado como um alias do filtro
<literal>magic_quotes</literal> (<constant>FILTER_SANITIZE_MAGIC_QUOTES</constant>).
O filtro <literal>magic_quotes</literal> está sujeito a remoção em versões futuras do PHP.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.ftp">
<title>FTP</title>
<para>
O modo de transferência padrão foi alterado para <literal>binary</literal>..
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.intl">
<title>Funções de Internacionalização</title>
<para>
<constant>Normalizer::NONE</constant> está descontinuada, quando o PHP está vinculado com
ICU ≥ 56.
</para>
<para>
Introduzido N<constant>Normalizer::FORM_KC_CF</constant> como
argumento <methodname>Normalizer::normalize</methodname> para
normalização <literal>NFKC_Casefold</literal> disponível quando vinculado a
ICU ≥ 56.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.json">
<title>JSON</title>
<para>
Uma nova flag foi adicionada, <constant>JSON_THROW_ON_ERROR</constant>, que pode ser
usado com <function>json_decode</function> ou
<function>json_encode</function> e faz com que essas funções lancem o novo
<classname>JsonException</classname> em caso de erro, em vez de definir o estado de
erro global que é recuperado com
<function>json_last_error</function> e <function>json_last_error_msg</function>.
<constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> tem precedência sobre
<constant>JSON_THROW_ON_ERROR</constant>.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.mbstring">
<title>Multibyte String</title>
<para>
A opção de configuração <option role="configure">--with-libmbfl</option>
não está mais disponível.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.uodbc">
<title>ODBC (Unificado)</title>
<para>
O suporte para <literal>ODBCRouter</literal> e <literal>Birdstep</literal>,
incluindo a diretiva ini <literal>birdstep.max_links</literal>, foi
removido.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.opcache">
<title>OPcache</title>
<para>
A diretiva ini <literal>opcache.inherited_hack</literal> foi removida.
O valor já foi ignorado desde o PHP 5.3.0.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.openssl">
<title>OpenSSL</title>
<para>
As opções de fluxo ssl <literal>min_proto_version</literal> e <literal>max_proto_version</literal>,
bem como constantes relacionadas para possíveis valores de protocolo TLS
foram adicionadas.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.pcre">
<title>Expressões Regulares (Compatíveis com Perl)</title>
<para>
A <link linkend="book.pcre">extensão PCRE</link> 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.
</para>
<para>
<function>preg_quote</function> agora também escapa do caractere
<literal>'#'</literal>.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.pdo-dblib">
<title>Funções Microsoft SQL Server e Sybase (PDO_DBLIB)</title>
<para>
O atributo <constant>PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS</constant> para habilitar o
salto automático de conjuntos de linhas vazios foi adicionado.
</para>
<para>
O atributo <constant>PDO::DBLIB_ATTR_TDS_VERSION</constant> que expõe a versão
TDS foi adicionado
</para>
<para>
As colunas DATETIME2 agora são tratadas como colunas DATETIME.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.pdo-sqlite">
<title>Funções SQLite (PDO_SQLITE)</title>
<para>
Os bancos de dados SQLite3 agora podem ser abertos no modo somente leitura, definindo o novo
atributo <constant>PDO::SQLITE_ATTR_OPEN_FLAGS</constant> como
<constant>PDO::SQLITE_OPEN_READONLY</constant>.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.session">
<title>Tratamento de Sessão</title>
<para>
<function>session_set_cookie_params</function> agora também suporta a
seguinte assinatura:
<methodsynopsis>
<type>bool</type><methodname>session_set_cookie_params</methodname>
<methodparam><type>array</type><parameter>options</parameter></methodparam>
</methodsynopsis>
onde <literal>$options</literal> é um array associativo que pode ter
qualquer uma das chaves <literal>"lifetime"</literal>, <literal>"path"</literal>,
<literal>"domain"</literal>, <literal>"secure"</literal>,
<literal>"httponly"</literal> e <literal>"samesite"</literal> Da mesma forma,
o valor de retorno de <function>session_get_cookie_params</function> agora também
possui um elemento com a chave <literal>"samesite"</literal>.
Além disso, foi adicionada a nova opção ini <literal>session.cookie_samesite</literal> para
definir o padrão da diretiva SameSite para cookies. O padrão
é <literal>""</literal> (string vazia), portanto, nenhuma diretiva SameSite é
definida. Pode ser definido como <literal>"Lax"</literal> ou <literal>"Strict"</literal>,
que define a respectiva diretiva SameSite.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.tidy">
<title>Tidy</title>
<para>
Construir contra <link xlink:href="&url.tidyp;">tidyp</link> agora também é
suportado de forma transparente. Uma vez que o tidyp não oferece nenhuma API para obter a data de lançamento,
<function>tidy_get_release</function> e <methodname>tidy::getRelease</methodname>
retornam <literal>'unknown'</literal> neste caso.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.xml">
<title>Analisador de XML</title>
<para>
O valor de retorno do retorno de chamada <function>xml_set_external_entity_ref_handler</function>
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.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.zip">
<title>Zip</title>
<para>
Compilar com o pacote libzip é desencorajado, mas ainda é possível
adicionando <option role="configure">--without-libzip</option> à configuração.
</para>
</sect2>
<sect2 xml:id="migration73.other-changes.zlib">
<title>Compressão Zlib</title>
<para>
A opção de contexto zlib/level para o empacotador <link
linkend="wrappers.compression">empacotador compress.zlib</link> para facilitar a
configuração do nível de compactação desejado foi adicionada.
</para>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->