<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/migration85.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'migration85.other-changes.php',
    1 => 'Outras Altera&ccedil;&otilde;es',
    2 => 'Outras Altera&ccedil;&otilde;es',
  ),
  'up' => 
  array (
    0 => 'migration85.php',
    1 => 'Migrando do PHP 8.4.x para o PHP 8.5.x',
  ),
  'prev' => 
  array (
    0 => 'migration85.deprecated.php',
    1 => 'Recursos Descontinuados',
  ),
  'next' => 
  array (
    0 => 'migration85.windows-support.php',
    1 => 'Suporte ao Windows',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'appendices/migration85/other-changes.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="migration85.other-changes" class="sect1">
 <h2 class="title">Outras Alterações</h2>

 <div class="sect2" id="migration85.other-changes.core">
  <h3 class="title">Alterações no Núcleo</h3>

  <div class="sect3" id="migration85.other-changes.core.core">
   <h4 class="title">Núcleo</h4>

   <p class="simpara">
    O temporizador de alta resolução (<span class="function"><a href="function.hrtime.php" class="function">hrtime()</a></span>) no macOS agora
    usa a API recomendada
    <code class="code">clock_gettime_nsec_np(CLOCK_UPTIME_RAW)</code> em vez de
    <code class="code">mach_absolute_time()</code>.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.core.cgi-cli">
   <h4 class="title">CGI/CLI</h4>

   <p class="simpara">
    A opção <strong class="option unknown">-z</strong> ou <strong class="option unknown">--zend-extension</strong>
    foi removida por não estar funcionando.
    Use <strong class="option unknown">-d zend_extension=[caminho]</strong> em vez disso.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.core.pdo-odbc">
   <h4 class="title">PDO_ODBC</h4>

   <p class="simpara">
    O comportamento de busca para colunas maiores foi alterado. Em vez de
    buscar blocos de 256 bytes, o PDO_ODBC tentará buscar um tamanho de bloco maior;
    atualmente, esse tamanho é o tamanho da página menos a sobrecarga de string. Os drivers que
    retornam SQL_NO_TOTAL em SQLGetData também são tratados de forma mais eficiente.
    Isso deve melhorar a compatibilidade e o desempenho.
    
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.other-changes.sapi">
  <h3 class="title">Alterações nos Módulos SAPI</h3>

  <div class="sect3" id="migration85.other-changes.sapi.cli">
   <h4 class="title">CLI</h4>

   <p class="simpara">
    Tentar definir um título de processo muito longo com
    <span class="function"><a href="function.cli-set-process-title.php" class="function">cli_set_process_title()</a></span> agora falhará em vez de
    truncar silenciosamente o título fornecido.
   </p>

   <p class="simpara">
    Adicionada uma nova opção <strong class="option unknown">--ini=diff</strong> para imprimir as configurações do arquivo INI
    alterado em relação ao padrão integrado.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.sapi.fpm">
   <h4 class="title">FPM</h4>

   <p class="simpara">
    O FPM com httpd ProxyPass decodifica opcionalmente o caminho completo do script. Adicionada a configuração INI
    fastcgi.script_path_encoded
    para evitar este novo comportamento.
   </p>

   <p class="simpara">
    O limite de log de acesso do FPM agora respeita o valor de <a href="install.fpm.configuration.php#log-limit" class="link">log_limit</a>.
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.other-changes.functions">
  <h3 class="title">Funções Alteradas</h3>

  <div class="sect3" id="migration85.other-changes.functions.intl">
   <h4 class="title">Intl</h4>

   <p class="simpara">
    <span class="function"><a href="function.grapheme-extract.php" class="function">grapheme_extract()</a></span> atribui corretamente o valor de
    <code class="parameter">$next</code> ao ignorar bytes iniciais inválidos.
    Anteriormente, havia casos em que apontava para o início do
    limite do grafema em vez do fim.
   </p>

   <p class="simpara">
    <span class="function"><a href="transliterator.geterrorcode.php" class="function">transliterator_get_error_code()</a></span>,
    <span class="function"><a href="transliterator.geterrormessage.php" class="function">transliterator_get_error_message()</a></span>,
    <span class="methodname"><a href="transliterator.geterrorcode.php" class="methodname">TransLiterator::getErrorCode()</a></span>
    e <span class="methodname"><a href="transliterator.geterrormessage.php" class="methodname">TransLiterator::getErrorMessage()</a></span>
    removeram <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> da união de tipos de retorno. Retornar <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>
    na verdade nunca foi possível.
   </p>

   <p class="simpara">
    As seguintes funções agora suportam um argumento <code class="parameter">$locale</code>:
    <span class="function"><a href="function.grapheme-strpos.php" class="function">grapheme_strpos()</a></span>,
    <span class="function"><a href="function.grapheme-stripos.php" class="function">grapheme_stripos()</a></span>,
    <span class="function"><a href="function.grapheme-strrpos.php" class="function">grapheme_strrpos()</a></span>,
    <span class="function"><a href="function.grapheme-strripos.php" class="function">grapheme_strripos()</a></span>,
    <span class="function"><a href="function.grapheme-substr.php" class="function">grapheme_substr()</a></span>,
    <span class="function"><a href="function.grapheme-strstr.php" class="function">grapheme_strstr()</a></span> e
    <span class="function"><a href="function.grapheme-stristr.php" class="function">grapheme_stristr()</a></span>.
    
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.ldap">
   <h4 class="title">LDAP</h4>

   <p class="simpara">
    <span class="function"><a href="function.ldap-get-option.php" class="function">ldap_get_option()</a></span> agora aceita uma conexão <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>,
    como <span class="function"><a href="function.ldap-set-option.php" class="function">ldap_set_option()</a></span>,
    para permitir a recuperação de opções globais.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.libxml">
   <h4 class="title">libxml</h4>

   <p class="simpara">
    <span class="function"><a href="function.libxml-set-external-entity-loader.php" class="function">libxml_set_external_entity_loader()</a></span> agora tem um tipo de retorno formal
    de <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span>.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.openssl">
   <h4 class="title">OpenSSL</h4>

   <p class="simpara">
    <span class="function"><a href="function.openssl-public-encrypt.php" class="function">openssl_public_encrypt()</a></span> e
    <span class="function"><a href="function.openssl-private-decrypt.php" class="function">openssl_private_decrypt()</a></span> têm um novo parâmetro
    <code class="parameter">$digest_algo</code> que permite especificar o algoritmo de hash
    para o preenchimento OAEP.
   </p>

   <p class="simpara">
    <span class="function"><a href="function.openssl-sign.php" class="function">openssl_sign()</a></span> e <span class="function"><a href="function.openssl-verify.php" class="function">openssl_verify()</a></span>
    possuem um novo parâmetro <code class="parameter">$padding</code> para permitir o uso de um
    preenchimento RSA PSS mais seguro.
   </p>

   <p class="simpara">
    <span class="function"><a href="function.openssl-cms-encrypt.php" class="function">openssl_cms_encrypt()</a></span> <code class="parameter">$cipher_algo</code>
    O parâmetro pode ser uma string com o nome da cifra.
    Isso permite usar mais algoritmos, incluindo algoritmos de cifra AES e GCM para
    dados envelopados de autenticação.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.pcntl">
   <h4 class="title">PCNTL</h4>

   <p class="simpara">
    <span class="function"><a href="function.pcntl-exec.php" class="function">pcntl_exec()</a></span> agora tem um tipo de retorno formal de
    <span class="type"><a href="language.types.singleton.php" class="type false">false</a></span>.
   </p>

   <p class="simpara">
    <span class="function"><a href="function.pcntl-waitid.php" class="function">pcntl_waitid()</a></span> recebe um argumento adicional resource_usage
    para coletar várias métricas específicas da plataforma sobre o processo filho.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.pdo-pgsql">
   <h4 class="title">PDO_PGSQL</h4>

   <p class="simpara">
    <span class="methodname"><a href="pdo-pgsql.copyfromarray.php" class="methodname">Pdo\Pgsql::copyFromArray()</a></span> agora suporta entradas <span class="type"><a href="language.types.iterable.php" class="type iterable">iterable</a></span>.
   </p>

   <p class="simpara">
    <span class="methodname"><strong>Pdo\Pgsql::setAttribute()</strong></span> e
    <span class="methodname"><strong>Pdo\Pgsql::prepare()</strong></span> suportam configurar
    <strong><code><a href="pdo.constants.php#pdo.constants.attr-prefetch">PDO::ATTR_PREFETCH</a></code></strong> para 0, que entra no modo lento de busca.
    Neste modo, as instruções não podem ser executadas em paralelo.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.pgsql">
   <h4 class="title">PostgreSQL</h4>

   <p class="simpara">
    <span class="function"><a href="function.pg-copy-from.php" class="function">pg_copy_from()</a></span> agora suporta entradas <span class="type"><a href="language.types.iterable.php" class="type iterable">iterable</a></span>.
   </p>

   <p class="simpara">
    <span class="function"><a href="function.pg-connect.php" class="function">pg_connect()</a></span> verifica se o argumento connection_string
    contém algum byte nulo.
   </p>

   <p class="simpara">
    <span class="function"><strong>pg_close_stmt()</strong></span> verifica se o argumento connection_string
    contém algum byte nulo.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.posix">
   <h4 class="title">POSIX</h4>

   <p class="simpara">
    <span class="function"><a href="function.posix-ttyname.php" class="function">posix_ttyname()</a></span> define last_error como EBADF ao encontrar
    um descritor de arquivo inválido.
   </p>

   <p class="simpara">
    <span class="function"><a href="function.posix-isatty.php" class="function">posix_isatty()</a></span> gera uma mensagem <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong>
    ao encontrar um descritor de arquivo inválido.
   </p>

   <p class="simpara">
    <span class="function"><a href="function.posix-fpathconf.php" class="function">posix_fpathconf()</a></span> verifica descritores de arquivo inválidos e
    define last_error como EBADF e gera uma mensagem <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong>.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.reflection">
   <h4 class="title">Reflection</h4>

   <p class="simpara">
    <span class="methodname"><a href="reflectionclass.tostring.php" class="methodname">ReflectionClass::__toString()</a></span> para
    enumerações foi alterada para melhor indicar que a classe é uma enumeração e que
    os casos de enumeração não são constantes de classe normais.
   </p>

   <p class="simpara">
    A saída de <span class="methodname"><a href="reflectionproperty.tostring.php" class="methodname">ReflectionProperty::__toString()</a></span> para
    propriedades com ganchos foi alterada para indicar quais ganchos a propriedade possui,
    se esses ganchos são finais e se a propriedade é virtual.
    Isso também afeta a saída de <span class="methodname"><a href="reflectionclass.tostring.php" class="methodname">ReflectionClass::__toString()</a></span>
    quando uma classe contém propriedades com ganchos.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.sockets">
   <h4 class="title">Sockets</h4>

   <p class="simpara">
    <span class="function"><a href="function.socket-create.php" class="function">socket_create()</a></span>/<span class="function"><a href="function.socket-bind.php" class="function">socket_bind()</a></span> podem
    criar soquetes da família <strong><code>AF_PACKET</code></strong>.
   </p>

   <p class="simpara">
    <span class="function"><a href="function.socket-getsockname.php" class="function">socket_getsockname()</a></span> obtém o índice da interface e sua
    representação em string com o soquete <strong><code>AF_PACKET</code></strong>.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.zlib">
   <h4 class="title">Zlib</h4>

   <p class="simpara">
    O argumento <code class="parameter">$use_include_path</code> para as funções
    <span class="function"><a href="function.gzfile.php" class="function">gzfile()</a></span>, <span class="function"><a href="function.gzopen.php" class="function">gzopen()</a></span> e
    <span class="function"><a href="function.readgzfile.php" class="function">readgzfile()</a></span> foi alterado de
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> para <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>.
   </p>

   <p class="simpara">
    As funções <span class="function"><a href="function.gzfile.php" class="function">gzfile()</a></span>,
    <span class="function"><a href="function.gzopen.php" class="function">gzopen()</a></span> e <span class="function"><a href="function.readgzfile.php" class="function">readgzfile()</a></span>
    agora respeitam o contexto de fluxo padrão.
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.other-changes.extensions">
  <h3 class="title">Outras Alterações em Extensões</h3>

  <div class="sect3" id="migration85.other-changes.extensions.curl">
   <h4 class="title">cURL</h4>

   <p class="simpara">
    <span class="function"><a href="function.curl-setopt.php" class="function">curl_setopt()</a></span> com o valor da opção
    <strong><code><a href="curl.constants.php#constant.curlopt-followlocation">CURLOPT_FOLLOWLOCATION</a></code></strong>
    não é mais tratada como booleano mas como inteiro, para lidar com
    <strong><code>CURLFOLLOW_OBEYCODE</code></strong> e
    <strong><code>CURLFOLLOW_FIRSTONLY</code></strong>.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.fileinfo">
   <h4 class="title">Fileinfo</h4>

   <p class="simpara">
    Biblioteca atualizada da versão 5.45 para a 5.46.
   </p>

   <p class="simpara">
    O tipo de retorno de <span class="function"><a href="function.finfo-close.php" class="function">finfo_close()</a></span> foi alterado para
    <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span>, em vez de <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.intl">
   <h4 class="title">Intl</h4>

   <p class="simpara">
    O mecanismo interno de erros de Intl foi modernizado para que
    indique com mais precisão qual local de chamada causou qual erro.
    Além disso, algumas exceções de ext/date agora são encapsuladas em uma
    <span class="classname"><a href="class.intlexception.php" class="classname">IntlException</a></span>.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.lexbor">
   <h4 class="title">Lexbor</h4>

   <p class="simpara">
    Uma extensão lexbor sempre habilitada foi adicionada. Ela contém a biblioteca lexbor
    que foi separada de <a href="book.dom.php" class="link">ext/dom</a>
    para ser reutilizada entre outras extensões.
    A nova extensão não é exposta diretamente ao espaço do usuário.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.opcache">
   <h4 class="title">Opcache</h4>

   <p class="simpara">
    A extensão <a href="book.opcache.php" class="link">Opcache</a> agora está sempre
    integrada ao binário do PHP e é sempre carregada.
    As diretivas INI <a href="opcache.configuration.php#ini.opcache.enable" class="link">opcache.enable</a>
    e <a href="opcache.configuration.php#ini.opcache.enable-cli" class="link">opcache.enable_cli</a>
    ainda são respeitadas.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.pcre">
   <h4 class="title">PCRE</h4>

   <p class="simpara">
    Atualizada a biblioteca pcre2lib da versão 10.44 para a 10.46.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.pdo-sqlite">
   <h4 class="title">PDO_Sqlite</h4>

   <p class="simpara">
    Alterada a versão mínima suportada de 3.7.7 para 3.7.17.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.readline">
   <h4 class="title">Readline</h4>

   <p class="simpara">
    Os tipos de retorno de <span class="function"><a href="function.readline-add-history.php" class="function">readline_add_history()</a></span>,
    <span class="function"><a href="function.readline-clear-history.php" class="function">readline_clear_history()</a></span>
    e <span class="function"><a href="function.readline-callback-handler-install.php" class="function">readline_callback_handler_install()</a></span> foram
    alterados para <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span>, em vez de <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.reflection">
   <h4 class="title">Reflection</h4>

   <p class="simpara">
    <span class="classname"><a href="class.reflectionconstant.php" class="classname">ReflectionConstant</a></span> não é mais final.
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.other-changes.ini">
  <h3 class="title">Alterações na Manipulação de Arquivos INI</h3>

  <div class="sect3" id="migration85.other-changes.ini.core">
   <h4 class="title">Núcleo</h4>

   <p class="simpara">
    Adicionada a opção &#039;fatal_error_backtraces&#039; para controlar se os erros fatais devem incluir
    um rastreamento de pilha.
    
   </p>

   <p class="simpara">
    Adicionada configuração INI &#039;max_memory_limit&#039; exclusiva da inicialização para controlar o limite
    máximo de memória que pode ser configurado na inicialização ou em tempo de execução. Exceder
    esse valor gera um aviso, a menos que seja definido como -1, e define o limite de memória para o valor
    atual de &#039;max_memory_limit&#039;.
    
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.ini.opcache">
   <h4 class="title">Opcache</h4>

   <p class="simpara">
    Adicionada a opção &#039;opcache.file_cache_read_only&#039; para suportar um diretório somente leitura
    <a href="opcache.configuration.php#ini.opcache.file-cache" class="link">opcache.file_cache</a>,
    para uso com sistemas de arquivos somente leitura (por exemplo, contêineres Docker somente leitura).
    Melhor utilizado com <code class="literal">opcache.validate_timestamps=0</code>,
    <code class="literal">opcache.enable_file_override=1</code>
    e <code class="literal">opcache.file_cache_consistency_checks=0</code>.
   </p>

   <blockquote class="note"><p><strong class="note">Nota</strong>: 
    <span class="simpara">
     Um cache gerado com uma versão diferente do PHP, um caminho de arquivo
     diferente ou configurações diferentes (incluindo quais extensões estão carregadas) pode
     ser ignorado.
    </span>
   </p></blockquote>

   <p class="simpara">
    O valor padrão de
    <a href="opcache.configuration.php#ini.opcache.jit-hot-loop" class="link">opcache.jit_hot_loop</a> é
    agora 61 (um número primo) para evitar que seja um múltiplo do número de iterações
    do loop.
    Recomenda-se que este parâmetro seja definido como um número primo.
   </p>

   <p class="simpara">
    Alterar <a href="opcache.configuration.php#ini.opcache.memory-consumption" class="link">opcache.memory_consumption</a>
    quando o OPcache SHM já estiver configurado agora reportará corretamente uma falha
    em vez de não fazer nada silenciosamente e mostrar valores enganosos no PHPInfo.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.ini.openssl">
   <h4 class="title">OpenSSL</h4>

   <p class="simpara">
    Adicionada a opção &#039;openssl.libctx&#039;
    para selecionar o tipo de contexto da biblioteca OpenSSL.
    É possível usar uma libctx personalizada para cada thread ou uma única
    libctx global (padrão).
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.other-changes.performance">
  <h3 class="title">Desempenho</h3>

  <div class="sect3" id="migration85.other-changes.performance.core">
   <h4 class="title">Núcleo</h4>

   <p class="simpara">
    Removidos os OPcodes para comparações de identidade com valores booleanos, especialmente
    para o padrão <code class="code">match(true)</code>.
   </p>

   <p class="simpara">
    Adicionada a especialização de OPcode para comparações <code class="code">=== []</code> e
    <code class="code">!== []</code>.
   </p>

   <p class="simpara">
    A criação de objetos de exceção agora é muito mais rápida.
   </p>

   <p class="simpara">
    As partes do código que utilizavam SSE2 foram adaptadas para usar SIMD
    com ARM NEON também.
   </p>

   <p class="simpara">
    Introduzida a máquina virtual TAILCALL, habilitada por padrão ao compilar com Clang&gt;=19
    em x86_64 ou aarch64. A máquina virtual TAILCALL é tão rápida quanto a máquina virtual HYBRID usada ao
    compilar com GCC. Isso faz com que os binários PHP compilados com Clang&gt;=19 sejam tão rápidos quanto
    os binários compilados com GCC. O desempenho da máquina virtual CALL, usada com outros
    compiladores, também melhorou consideravelmente.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.intl">
   <h4 class="title">Intl</h4>

   <p class="simpara">
    Agora evita a criação de cópias extras de strings ao converter strings
    para uso no compilador.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.mbstring">
   <h4 class="title">MBString</h4>

   <p class="simpara">
    As partes do código que utilizavam SSE2 foram adaptadas para usar SIMD
    com ARM NEON também.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.opcache">
   <h4 class="title">Opcache</h4>

   <p class="simpara">
    Melhoria no desempenho da obtenção de variáveis ​​TLS em código compilado
    JIT em builds que não utilizam Glibc.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.reflection">
   <h4 class="title">Reflection</h4>

   <p class="para">
    Melhoria do desempenho dos seguintes métodos:
    <ul class="simplelist">
     <li><span class="methodname"><a href="reflectionproperty.getvalue.php" class="methodname">ReflectionProperty::getValue()</a></span></li>
     <li><span class="methodname"><a href="reflectionproperty.getrawvalue.php" class="methodname">ReflectionProperty::getRawValue()</a></span></li>
     <li><span class="methodname"><a href="reflectionproperty.isinitialized.php" class="methodname">ReflectionProperty::isInitialized()</a></span></li>
     <li><span class="methodname"><a href="reflectionproperty.isinitialized.php" class="methodname">ReflectionProperty::isInitialized()</a></span></li>
     <li><span class="methodname"><a href="reflectionproperty.setvalue.php" class="methodname">ReflectionProperty::setValue()</a></span></li>
     <li><span class="methodname"><a href="reflectionproperty.setrawvalue.php" class="methodname">ReflectionProperty::setRawValue()</a></span></li>
    </ul>
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.spl">
   <h4 class="title">SPL</h4>

   <p class="simpara">
    Melhoria no desempenho dos acessadores de dimensão e dos métodos de
    <span class="classname"><a href="class.splfixedarray.php" class="classname">SplFixedArray</a></span>.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.standard">
   <h4 class="title">Standard</h4>

   <p class="simpara">
    Melhoria no desempenho de funções de array com chamadas de retorno
    (<span class="function"><a href="function.array-find.php" class="function">array_find()</a></span>, <span class="function"><a href="function.array-filter.php" class="function">array_filter()</a></span>,
    <span class="function"><a href="function.array-map.php" class="function">array_map()</a></span>, <span class="function"><a href="function.usort.php" class="function">usort()</a></span>, ...).
   </p>

   <p class="simpara">
    Desempenho aprimorado de <span class="function"><a href="function.urlencode.php" class="function">urlencode()</a></span> e
    <span class="function"><a href="function.rawurlencode.php" class="function">rawurlencode()</a></span>.
   </p>

   <p class="simpara">
    Melhoria no desempenho de <span class="function"><a href="function.unpack.php" class="function">unpack()</a></span> com repetições sem nome
    evitando a criação de strings temporárias e sua reanálise.
   </p>

   <p class="simpara">
    Melhoria no desempenho de <span class="function"><a href="function.pack.php" class="function">pack()</a></span>.
   </p>

   <p class="simpara">
    Pequenas melhorias no desempenho de <span class="function"><a href="function.array-chunk.php" class="function">array_chunk()</a></span>.
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.xml">
   <h4 class="title">XML</h4>

   <p class="simpara">
    Melhoria no desempenho de acesso às propriedades do <span class="classname"><a href="class.xmlreader.php" class="classname">XMLReader</a></span>.
   </p>

   <p class="simpara">
    Melhoria no desempenho do <span class="classname"><a href="class.xmlwriter.php" class="classname">XMLWriter</a></span> e redução no
    consumo de memória.
   </p>

  </div>

 </div>

</div><?php manual_footer($setup); ?>