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

contributors($setup);

?>
<div id="migration73.other-changes" class="sect1">
 <h2 class="title">Outras mudanças</h2>

 <div class="sect2" id="migration73.other-changes.core">
  <h3 class="title">Núcleo do PHP</h3>

  <div class="sect3" id="migration73.other-changes.core.setcookie">
   <h4 class="title">Set(raw)cookie aceita Argumento $option</h4>

   <p class="para">
    <span class="function"><a href="function.setcookie.php" class="function">setcookie()</a></span> e <span class="function"><a href="function.setrawcookie.php" class="function">setrawcookie()</a></span> agora também
    suportam a seguinte assinatura:
    <div class="methodsynopsis dc-description">
     <span class="methodname"><a href="function.setcookie.php" class="methodname">setcookie</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$value</code><span class="initializer"> = &quot;&quot;</span></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$options</code><span class="initializer"> = []</span></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

    onde <code class="literal">$options</code> é um array associativo que pode ter
    qualquer uma das chaves <code class="literal">&quot;expires&quot;</code>, <code class="literal">&quot;path&quot;</code>,
    <code class="literal">&quot;domain&quot;</code>, <code class="literal">&quot;secure&quot;</code>,
    <code class="literal">&quot;httponly&quot;</code> e <code class="literal">&quot;samesite&quot;</code>.
   </p>
  </div>

  <div class="sect3" id="migration73.other-changes.core.syslog">
   <h4 class="title">Novas Diretivas Syslog ini</h4>

   <p class="para">
    As seguintes diretivas ini foram adicionadas para personalizar o log, se
    <a href="errorfunc.configuration.php#ini.error-log" class="link">error_log</a> for definido como
    <code class="literal">syslog</code>:
    <dl>
     
      <dt><a href="errorfunc.configuration.php#ini.syslog.facility" class="link">syslog.facility</a></dt>
      <dd>
       <span class="simpara">
        Especifica que tipo de programa está registrando a mensagem.
       </span>
      </dd>
     
     
      <dt><a href="errorfunc.configuration.php#ini.syslog.filter" class="link">syslog.filter</a></dt>
      <dd>
       <span class="simpara">
        Especifica o tipo de filtro para filtrar as mensagens registradas, com os
        tipos de filtro suportados - <code class="literal">all</code>,
        <code class="literal">no-ctrl</code> e <code class="literal">ascii</code>.
        A partir do PHP 7.3.8, o <code class="literal">raw</code> também está disponível,
        restaurando o comportamento do syslog nas versões anteriores do PHP.
        Este filtro também afetará as chamadas para <span class="function"><a href="function.syslog.php" class="function">syslog()</a></span>.
       </span>
      </dd>
     
     
      <dt><a href="errorfunc.configuration.php#ini.syslog.ident" class="link">syslog.ident</a></dt>
      <dd>
       <span class="simpara">
        Especifica a string de identificação que é anexada a cada mensagem.
       </span>
      </dd>
     
    </dl>
   </p>
  </div>

  <div class="sect3" id="migration73.other-changes.core.gc">
   <h4 class="title">Garbage Collection</h4>

   <p class="para">
    O <a href="features.gc.collecting-cycles.php" class="link">cyclic GC</a> foi
    aprimorado, o que pode resultar em melhorias consideráveis de desempenho.
   </p>
  </div>

  <div class="sect3" id="migration73.other-changes.core.misc">
   <h4 class="title">Diversos</h4>

   <p class="para">
    <span class="function"><a href="function.var-export.php" class="function">var_export()</a></span> agora exporta objetos <span class="classname"><a href="class.stdclass.php" class="classname">stdClass</a></span>
    como um array convertido em um objeto (<code class="code">(object) array( ... )</code>), em vez de
    usar o método inexistente <span class="methodname"><strong>stdClass::__setState()</strong></span>.
   </p>

   <p class="para">
    <span class="function"><a href="function.debug-zval-dump.php" class="function">debug_zval_dump()</a></span> foi alterado para exibir arrays
    e objetos recursivos da mesma forma que <span class="function"><a href="function.var-dump.php" class="function">var_dump()</a></span>. Agora, ele não
    os exibe duas vezes.
   </p>

   <p class="para">
    <span class="function"><a href="function.array-push.php" class="function">array_push()</a></span> e <span class="function"><a href="function.array-unshift.php" class="function">array_unshift()</a></span> agora
    também podem ser chamados com um único argumento, o que é particularmente conveniente
    wrt. O operador de spread.
   </p>
  </div>

 </div>

 <div class="sect2" id="migration73.other-changes.phpdbg">
  <h3 class="title">Interactive PHP Debugger</h3>

  <p class="para">
   As constantes não utilizadas <strong><code><a href="phpdbg.constants.php#constant.phpdbg-file">PHPDBG_FILE</a></code></strong>,
   <strong><code><a href="phpdbg.constants.php#constant.phpdbg-method">PHPDBG_METHOD</a></code></strong>, <strong><code><a href="phpdbg.constants.php#constant.phpdbg-lineno">PHPDBG_LINENO</a></code></strong> e
   <strong><code><a href="phpdbg.constants.php#constant.phpdbg-func">PHPDBG_FUNC</a></code></strong> foram removidas.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.fpm">
  <h3 class="title">FastCGI Process Manager</h3>

  <p class="para">
   A função <span class="function"><a href="function.getallheaders.php" class="function">getallheaders()</a></span> agora também está disponível.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.curl">
  <h3 class="title">Client URL Library</h3>

  <p class="para">
   libcurl ≥ 7.15.5 agora é necessário.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.filter">
  <h3 class="title">Filtragem de Dados</h3>

  <p class="para">
   <strong><code><a href="filter.constants.php#constant.filter-validate-float">FILTER_VALIDATE_FLOAT</a></code></strong> agora também suporta a opção <code class="literal">thousand</code>,
   que define o conjunto de caracteres separadores de mil permitidos. O padrão
   (<code class="code">&quot;&#039;,.&quot;</code>) é totalmente compatível com versões anteriores do PHP.
  </p>

  <p class="para">
   <strong><code><a href="filter.constants.php#constant.filter-sanitize-add-slashes">FILTER_SANITIZE_ADD_SLASHES</a></code></strong> foi adicionado como um alias do filtro
   <code class="literal">magic_quotes</code> (<strong><code><a href="filter.constants.php#constant.filter-sanitize-magic-quotes">FILTER_SANITIZE_MAGIC_QUOTES</a></code></strong>).
   O filtro <code class="literal">magic_quotes</code> está sujeito a remoção em versões futuras do PHP.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.ftp">
  <h3 class="title">FTP</h3>

  <p class="para">
   O modo de transferência padrão foi alterado para <code class="literal">binary</code>..
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.intl">
  <h3 class="title">Funções de Internacionalização</h3>

  <p class="para">
   <strong><code>Normalizer::NONE</code></strong> está descontinuada, quando o PHP está vinculado com
   ICU ≥ 56.
  </p>

  <p class="para">
   Introduzido N<strong><code><a href="class.normalizer.php#normalizer.constants.form-kc-cf">Normalizer::FORM_KC_CF</a></code></strong> como
   argumento <span class="methodname"><a href="normalizer.normalize.php" class="methodname">Normalizer::normalize()</a></span> para
   normalização <code class="literal">NFKC_Casefold</code> disponível quando vinculado a
   ICU ≥ 56.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.json">
  <h3 class="title">JSON</h3>

  <p class="para">
   Uma nova flag foi adicionada, <strong><code><a href="json.constants.php#constant.json-throw-on-error">JSON_THROW_ON_ERROR</a></code></strong>, que pode ser
   usado com <span class="function"><a href="function.json-decode.php" class="function">json_decode()</a></span> ou
   <span class="function"><a href="function.json-encode.php" class="function">json_encode()</a></span> e faz com que essas funções lancem o novo
   <span class="classname"><a href="class.jsonexception.php" class="classname">JsonException</a></span> em caso de erro, em vez de definir o estado de
   erro global que é recuperado com
   <span class="function"><a href="function.json-last-error.php" class="function">json_last_error()</a></span> e <span class="function"><a href="function.json-last-error-msg.php" class="function">json_last_error_msg()</a></span>.
   <strong><code><a href="json.constants.php#constant.json-partial-output-on-error">JSON_PARTIAL_OUTPUT_ON_ERROR</a></code></strong> tem precedência sobre
   <strong><code><a href="json.constants.php#constant.json-throw-on-error">JSON_THROW_ON_ERROR</a></code></strong>.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.mbstring">
  <h3 class="title">Multibyte String</h3>

  <p class="para">
   A opção de configuração <strong class="option configure">--with-libmbfl</strong>
   não está mais disponível.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.uodbc">
  <h3 class="title">ODBC (Unificado)</h3>

  <p class="para">
   O suporte para <code class="literal">ODBCRouter</code> e <code class="literal">Birdstep</code>,
   incluindo a diretiva ini <code class="literal">birdstep.max_links</code>, foi
   removido.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.opcache">
  <h3 class="title">OPcache</h3>

  <p class="para">
   A diretiva ini <code class="literal">opcache.inherited_hack</code> foi removida.
   O valor já foi ignorado desde o PHP 5.3.0.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.openssl">
  <h3 class="title">OpenSSL</h3>

  <p class="para">
   As opções de fluxo ssl <code class="literal">min_proto_version</code> e <code class="literal">max_proto_version</code>,
   bem como constantes relacionadas para possíveis valores de protocolo TLS
   foram adicionadas.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.pcre">
  <h3 class="title">Expressões Regulares (Compatíveis com Perl)</h3>

  <p class="para">
   A <a href="book.pcre.php" class="link">extensão PCRE</a> 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.
  </p>

  <p class="para">
   <span class="function"><a href="function.preg-quote.php" class="function">preg_quote()</a></span> agora também escapa do caractere
   <code class="literal">&#039;#&#039;</code>.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.pdo-dblib">
  <h3 class="title">Funções Microsoft SQL Server e Sybase (PDO_DBLIB)</h3>

  <p class="para">
   O atributo <strong><code>PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS</code></strong> para habilitar o
   salto automático de conjuntos de linhas vazios foi adicionado.
  </p>

  <p class="para">
   O atributo <strong><code>PDO::DBLIB_ATTR_TDS_VERSION</code></strong> que expõe a versão
   TDS foi adicionado
  </p>

  <p class="para">
    As colunas DATETIME2 agora são tratadas como colunas DATETIME.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.pdo-sqlite">
  <h3 class="title">Funções SQLite (PDO_SQLITE)</h3>

  <p class="para">
   Os bancos de dados SQLite3 agora podem ser abertos no modo somente leitura, definindo o novo
   atributo <strong><code>PDO::SQLITE_ATTR_OPEN_FLAGS</code></strong> como
   <strong><code>PDO::SQLITE_OPEN_READONLY</code></strong>.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.session">
  <h3 class="title">Tratamento de Sessão</h3>

  <p class="para">
   <span class="function"><a href="function.session-set-cookie-params.php" class="function">session_set_cookie_params()</a></span> agora também suporta a
   seguinte assinatura:
   <div class="methodsynopsis dc-description">
    <span class="methodname"><a href="function.session-set-cookie-params.php" class="methodname">session_set_cookie_params</a></span>(<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$options</code></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

   onde <code class="literal">$options</code> é um array associativo que pode ter
   qualquer uma das chaves <code class="literal">&quot;lifetime&quot;</code>, <code class="literal">&quot;path&quot;</code>,
   <code class="literal">&quot;domain&quot;</code>, <code class="literal">&quot;secure&quot;</code>,
   <code class="literal">&quot;httponly&quot;</code> e <code class="literal">&quot;samesite&quot;</code> Da mesma forma,
   o valor de retorno de <span class="function"><a href="function.session-get-cookie-params.php" class="function">session_get_cookie_params()</a></span> agora também
   possui um elemento com a chave <code class="literal">&quot;samesite&quot;</code>.
   Além disso, foi adicionada a nova opção ini <code class="literal">session.cookie_samesite</code> para
   definir o padrão da diretiva SameSite para cookies. O padrão
   é <code class="literal">&quot;&quot;</code> (string vazia), portanto, nenhuma diretiva SameSite é
   definida. Pode ser definido como <code class="literal">&quot;Lax&quot;</code> ou <code class="literal">&quot;Strict&quot;</code>,
   que define a respectiva diretiva SameSite.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.tidy">
  <h3 class="title">Tidy</h3>

  <p class="para">
   Construir contra <a href="https://github.com/petdance/tidyp" class="link external">&raquo;&nbsp;tidyp</a> agora também é
   suportado de forma transparente. Uma vez que o tidyp não oferece nenhuma API para obter a data de lançamento,
   <span class="function"><a href="tidy.getrelease.php" class="function">tidy_get_release()</a></span> e <span class="methodname"><a href="tidy.getrelease.php" class="methodname">tidy::getRelease()</a></span>
   retornam <code class="literal">&#039;unknown&#039;</code> neste caso.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.xml">
  <h3 class="title">Analisador de XML</h3>

  <p class="para">
   O valor de retorno do retorno de chamada <span class="function"><a href="function.xml-set-external-entity-ref-handler.php" class="function">xml_set_external_entity_ref_handler()</a></span>
   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.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.zip">
  <h3 class="title">Zip</h3>

  <p class="para">
   Compilar com o pacote libzip é desencorajado, mas ainda é possível
   adicionando <strong class="option configure">--without-libzip</strong> à configuração.
  </p>
 </div>

 <div class="sect2" id="migration73.other-changes.zlib">
  <h3 class="title">Compressão Zlib</h3>

  <p class="para">
   A opção de contexto zlib/level para o empacotador <a href="wrappers.compression.php" class="link">empacotador compress.zlib</a> para facilitar a
   configuração do nível de compactação desejado foi adicionada.
  </p>
 </div>

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