mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-23 22:52:12 +01:00
470 lines
12 KiB
XML
470 lines
12 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 6d29533483657c036e49edb5ea88c7103d126681 Maintainer: leonardolara Status: ready -->
|
|
|
|
<sect1 xml:id="migration72.new-features" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>Novas funcionalidades</title>
|
|
|
|
<sect2 xml:id="migration72.new-features.object-type">
|
|
<title>Novo tipo: object</title>
|
|
|
|
<para>
|
|
Um novo tipo, <type>object</type>, foi introduzido e pode ser usado para
|
|
tipagem de parâmetro (contravariante) e tipagem de retorno (covariante) de qualquer
|
|
objeto.
|
|
</para>
|
|
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
|
|
function test(object $obj) : object
|
|
{
|
|
return new SplQueue();
|
|
}
|
|
|
|
test(new stdClass());
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.ext-loading-by-name">
|
|
<title>Carregamento de extensão por nome</title>
|
|
|
|
<para>
|
|
Extensões compartilhadas não requerem mais que as extensões de arquivo
|
|
(<literal>.so</literal> para Unix ou <literal>.dll</literal> para Windows) sejam
|
|
especificadas. Isto está habilitado no arquivo php.ini, assim como na função
|
|
<function>dl</function>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.abstract-method-overriding">
|
|
<title>Substituição de método abstrato</title>
|
|
|
|
<para>
|
|
Métodos abstratos agora podem ser substituídos quando uma classe abstrata estende
|
|
outra classe abstrata.
|
|
</para>
|
|
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
|
|
abstract class A
|
|
{
|
|
abstract function test(string $s);
|
|
}
|
|
abstract class B extends A
|
|
{
|
|
// substituído - ainda mantendo contravariância para parâmetros e covariância para retorno
|
|
abstract function test($s) : int;
|
|
}
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.sodium">
|
|
<title><link linkend="book.sodium">Sodium</link> agora é uma extensão do núcleo</title>
|
|
|
|
<para>
|
|
A moderna biblioteca de criptografia Sodium agora se tornou uma extensão do núcleo do PHP.
|
|
</para>
|
|
<para>
|
|
Para uma referência completa da função consulte o capítulo
|
|
<link linkend="book.sodium">Sodium</link>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.pws-hashing-with-argon2">
|
|
<title>Hash de senha com Argon2</title>
|
|
|
|
<para>
|
|
Argon2 foi adicionado à <link linkend="book.password">API de hash de senha</link>,
|
|
onde as seguintes constantes foram expostas:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>PASSWORD_ARGON2I</constant>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>PASSWORD_ARGON2_DEFAULT_MEMORY_COST</constant>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>PASSWORD_ARGON2_DEFAULT_TIME_COST</constant>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>PASSWORD_ARGON2_DEFAULT_THREADS</constant>
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.pdo-extended-str-types">
|
|
<title>Tipos estendidos de strings para <link linkend="book.pdo">PDO</link></title>
|
|
|
|
<para>
|
|
O tipo string da PDO foi estendido para suportar o tipo de caractere nacional
|
|
ao emular preparações. Isto foi feito com as seguintes constantes:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>PDO::PARAM_STR_NATL</constant>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>PDO::PARAM_STR_CHAR</constant>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>PDO::ATTR_DEFAULT_STR_PARAM</constant>
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
Estas constantes são utilizadas com a operação binária <literal>OR</literal> entre elas e a constante
|
|
<constant>PDO::PARAM_STR</constant>:
|
|
</para>
|
|
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
|
|
$db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL);
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.additional-emulated-prepares-debugging-info">
|
|
<title>Informação adicional de depuração de preparações emuladas para <link linkend="book.pdo">PDO</link></title>
|
|
|
|
<para>
|
|
O método <function>PDOStatement::debugDumpParams</function> foi atualizado
|
|
para incluir o SQL enviado ao BD, onde a consulta completa, crua,
|
|
(incluindo os marcadores substituídos com seus valores vinculados) será
|
|
mostrada. Isto foi adicionado para ajudar na depuração de preparações emuladas (e por isso
|
|
só estará disponível se preparações emuladas estiverem habilitadas).
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.extended-ops-in-ldap">
|
|
<title>Suporte para operações estendidas em <link linkend="book.ldap">LDAP</link></title>
|
|
|
|
<para>
|
|
Suporte para EXOP foi adicionado à extensão LDAP. Isto foi feito pela
|
|
exposição das seguintes funções e constantes:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
<function>ldap_parse_exop</function>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<function>ldap_exop</function>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<function>ldap_exop_passwd</function>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<function>ldap_exop_whoami</function>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>LDAP_EXOP_START_TLS</constant>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>LDAP_EXOP_MODIFY_PASSWD</constant>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>LDAP_EXOP_REFRESH</constant>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>LDAP_EXOP_WHO_AM_I</constant>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>LDAP_EXOP_TURN</constant>
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.addr-info-in-sockets">
|
|
<title>Adição de informação de endereço à extensão <link linkend="book.sockets">Sockets</link></title>
|
|
|
|
<para>
|
|
A extensão sockets agora tem a capacidade de procurar por Informação de Endereço, assim
|
|
como se conectar, vincular e explicar. As quatro funções a seguir
|
|
foram adicionadas para isto:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
<function>socket_addrinfo_lookup</function>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<function>socket_addrinfo_connect</function>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<function>socket_addrinfo_bind</function>
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<function>socket_addrinfo_explain</function>
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.param-type-widening">
|
|
<title>Ampliação de tipo de parâmetro</title>
|
|
|
|
<para>
|
|
Tipos de parâmetro de métodos substituídos e de implementações de interface
|
|
agora podem ser omitidos. Isto ainda está conforme LSP, já que os tipos
|
|
de parâmetros são contravariantes.
|
|
</para>
|
|
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
|
|
interface A
|
|
{
|
|
public function Test(array $input);
|
|
}
|
|
|
|
class B implements A
|
|
{
|
|
public function Test($input){} // tipo omitido para $input
|
|
}
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.trailing-comma-in-grouped-namespaces">
|
|
<title>Permite-se uma vírgula no final de espaços de nomes agrupados</title>
|
|
|
|
<para>
|
|
Uma vírgula agora pode ser adicionada ao final do grupo na sintaxe 'use' introduzida
|
|
no PHP 7.0.
|
|
</para>
|
|
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
|
|
use Foo\Bar\{
|
|
Foo,
|
|
Bar,
|
|
Baz,
|
|
};
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.proc_nice-windows-support">
|
|
<title>Suporte à função <function>proc_nice</function> no Windows</title>
|
|
|
|
<para>
|
|
A função <function>proc_nice</function> agora é suportada no Windows.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.pack-unpack-endian-support">
|
|
<title>Suporte à ordem de bytes nas funções <function>pack</function> e <function>unpack</function></title>
|
|
|
|
<para>
|
|
As funções <function>pack</function> e <function>unpack</function> agora suportam
|
|
tipos 'float' e 'double' em ambas as ordens de bytes Little Endian e Big Endian.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.exif-features">
|
|
<title>Melhorias à extensão <link linkend="book.exif">EXIF</link></title>
|
|
|
|
<para>
|
|
A extensão EXIF foi atualizada para suportar uma faixa de formatos bem maior. Isto
|
|
significa que suas etiquetas específicas de formatação agora são adequadamente traduzidas ao analisar
|
|
imagens com a função <function>exif_read_data</function>. Os formatos a seguir agora são
|
|
suportados:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
Samsung
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
DJI
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Panasonic
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Sony
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Pentax
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Minolta
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Sigma/Foveon
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
AGFA
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Kyocera
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Ricoh
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Epson
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
As funções EXIF <function>exif_read_data</function> e <function>exif_thumbnail</function>
|
|
agora suportam fluxos como seu primeiro argumento.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.pcre">
|
|
<title>Novas funcionalidades em <link linkend="book.pcre">PCRE</link></title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
O modificador <literal>J</literal> para configurar PCRE_DUPNAMES foi adicionado.
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.sqlite3">
|
|
<title><link linkend="book.sqlite3">SQLite3</link> permite escrever BLOBs</title>
|
|
|
|
<para>
|
|
<methodname>SQLite3::openBlob</methodname> agora permite abrir campos BLOB fields em
|
|
modo de escrita; anteriormente apenas leitura era suportada.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.oci8">
|
|
<title>Chamadas TAF (Transparent Application Failover) do <link linkend="book.oci8">Oracle OCI8</link></title>
|
|
|
|
<para>
|
|
Suporte às <link linkend="oci8.taf">chamadas de Falha Transparente de Aplicação do Banco de Dados Oracle</link>
|
|
foi adicionado. TAF permite que aplicações OCI8 do PHP OCI8 se
|
|
reconectem automaticamente a um banco de dados pré-configurado quando uma conexão
|
|
é perdida. O novo suporte à chamada TAF permite que aplicações PHP
|
|
monitorem e controlem a reconexão durante a falha.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration72.new-features.zip">
|
|
<title>Melhorias à extensão <link linkend="book.zip">ZIP</link></title>
|
|
|
|
<para>
|
|
Suporte foi adicionado a leitura e escrita de arquivos criptografados (requer libzip 1.2.0).
|
|
</para>
|
|
<para>
|
|
A classe <classname>ZipArchive</classname> agora implementa a interface
|
|
<interfacename>Countable</interfacename>.
|
|
</para>
|
|
<para>
|
|
O fluxo <literal>zip://</literal> agora aceita uma opção de contexto <literal>'password'</literal>.
|
|
</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
|
|
-->
|