mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-23 22:52:12 +01:00
647 lines
21 KiB
XML
647 lines
21 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 497c40ac164d5873fd87f622dfdeb5206392b446 Maintainer: leonardolara Status: ready -->
|
|
|
|
<sect1 xml:id="migration80.new-features" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>Novas Funcionalidades</title>
|
|
|
|
<sect2 xml:id="migration80.new-features.core">
|
|
<title>Núcleo do PHP</title>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.named-arguments">
|
|
<title>Argumentos nomeados</title>
|
|
|
|
<para>
|
|
<!-- RFC: https://wiki.php.net/rfc/named_params -->
|
|
O suporte para <link linkend="functions.named-arguments">Argumentos nomeados</link> foi adicionado.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.attributes">
|
|
<title>Atributos</title>
|
|
|
|
<para>
|
|
Suporte para <link linkend="language.attributes">Atributos</link> foi adicionado.
|
|
<!-- RFC: https://wiki.php.net/rfc/attributes_v2 -->
|
|
<!-- RFC: https://wiki.php.net/rfc/attribute_amendments -->
|
|
<!-- RFC: https://wiki.php.net/rfc/shorter_attribute_syntax -->
|
|
<!-- RFC: https://wiki.php.net/rfc/shorter_attribute_syntax_change -->
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.property-promotion">
|
|
<title>Promoção de propriedade do construtor</title>
|
|
|
|
<para>
|
|
Suporte para <link linkend="language.oop5.decon.constructor.promotion">promoção de propriedade do construtor</link> (declarando propriedades na assinatura do construtor)
|
|
foi adicionado.
|
|
<!-- RFC: https://wiki.php.net/rfc/constructor_promotion -->
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.union-types">
|
|
<title>União de Tipos</title>
|
|
|
|
<para>
|
|
O suporte para <link linkend="language.types.declarations.composite.union">união de tipos</link> foi adicionado.
|
|
<!-- RFC: https://wiki.php.net/rfc/union_types_v2 -->
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.match">
|
|
<title>Expressão Match</title>
|
|
|
|
<para>
|
|
O suporte para <link linkend="control-structures.match">expressões <literal>match</literal></link> foi adicionado.
|
|
<!-- RFC: https://wiki.php.net/rfc/match_expression_v2 -->
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.nullsafe-operator">
|
|
<title>Operador Nullsafe</title>
|
|
|
|
<para>
|
|
Suporte para o <link linkend="language.oop5.basic.nullsafe">nullsafe operador</link> (<literal>?-></literal>) foi adicionado.
|
|
<!-- RFC: https://wiki.php.net/rfc/nullsafe_operator -->
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.others">
|
|
<title>Outros novos recursos</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
A classe <link linkend="class.weakmap">WeakMap</link> foi adicionada.
|
|
<!-- RFC: https://wiki.php.net/rfc/weak_maps -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
A classe <classname>ValueError</classname> foi adicionada.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Qualquer número de parâmetros de função agora pode ser substituído por um argumento variádico, desde que os
|
|
tipos sejam compatíveis. Por exemplo, o seguinte código agora é permitido:
|
|
</para>
|
|
<para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
class A {
|
|
public function method(int $many, string $parameters, $here) {}
|
|
}
|
|
class B extends A {
|
|
public function method(...$everything) {}
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<type>static</type> (como em "vinculação estática tardia") agora pode ser usado como um tipo de retorno:
|
|
</para>
|
|
<para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
class Test {
|
|
public function create(): static {
|
|
return new static();
|
|
}
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
<!-- RFC: https://wiki.php.net/rfc/static_return_type -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Agora é possível buscar o nome da classe de um objeto usando
|
|
<code>$object::class</code>. O resultado é o mesmo que <code>get_class($object)</code>.
|
|
<!-- RFC: https://wiki.php.net/rfc/class_name_literal_on_object -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
&new; e &instanceof; agora podem ser usados com expressões arbitrárias,
|
|
usando <code>new (expression)(...$args)</code> e <code>$obj instanceof (expression)</code>.
|
|
<!-- RFC: https://wiki.php.net/rfc/variable_syntax_tweaks -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Algumas correções de consistência na sintaxe da variável foram aplicadas, por exemplo, escrever
|
|
<code>Foo::BAR::$baz</code> agora é permitido.
|
|
<!-- RFC: https://wiki.php.net/rfc/variable_syntax_tweaks -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Adicionada interface <interfacename>Stringable</interfacename>, que é implementada automaticamente se
|
|
uma classe definir um método <link linkend="object.tostring">__toString()</link>.
|
|
<!-- RFC: https://wiki.php.net/rfc/stringable -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
As Traits agora podem definir métodos privados abstratos.
|
|
Tais métodos devem ser implementados pela classe que usa o trait.
|
|
<!-- RFC: https://wiki.php.net/rfc/abstract_trait_method_validation -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>throw</literal> agora pode ser usado como uma expressão.
|
|
Isso permite usos como:
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$fn = fn() => throw new Exception('Exceção na função de seta');
|
|
$user = $session->user ?? throw new Exception('É necessário haver um usuário.');
|
|
]]>
|
|
</programlisting>
|
|
<!-- RFC: https://wiki.php.net/rfc/throw_expression -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Uma vírgula final opcional agora é permitida nas listas de parâmetros.
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
function functionWithLongSignature(
|
|
Type1 $parameter1,
|
|
Type2 $parameter2, // <-- Esta vírgula agora é permitida.
|
|
) {
|
|
}
|
|
]]>
|
|
</programlisting>
|
|
<!-- RFC: https://wiki.php.net/rfc/trailing_comma_in_parameter_list -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Agora é possível escrever <code>catch (Exception)</code> para capturar uma exceção sem armazená-la
|
|
em uma variável.
|
|
<!-- RFC: https://wiki.php.net/rfc/non-capturing_catches -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
O suporte para tipo <type>mixed</type> foi adicionado.
|
|
<!-- RFC: https://wiki.php.net/rfc/mixed_type_v2 -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Os métodos privados declarados em uma classe pai não impõem mais nenhuma regra de herança nos métodos
|
|
de uma classe filha (com exceção dos construtores privados finais).
|
|
O exemplo a seguir ilustra quais restrições foram removidas:
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
class ParentClass {
|
|
private function method1() {}
|
|
private function method2() {}
|
|
private static function method3() {}
|
|
// Lança um aviso, pois "final" não tem mais efeito:
|
|
private final function method4() {}
|
|
}
|
|
class ChildClass extends ParentClass {
|
|
// Todos os itens a seguir agora são permitidos, mesmo que os modificadores não sejam
|
|
// o mesmo que para os métodos privados na classe pai.
|
|
public abstract function method1() {}
|
|
public static function method2() {}
|
|
public function method3() {}
|
|
public function method4() {}
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
<!-- RFC: https://wiki.php.net/rfc/inheritance_private_methods -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>get_resource_id</function> foi adicionado, o que retorna o mesmo valor que
|
|
<code>(int) $resource</code>. Ele fornece a mesma funcionalidade em uma API mais clara.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
O <classname>InternalIterator</classname> foi adicionado.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.date">
|
|
<title>Data e hora</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<methodname>DateTime::createFromInterface</methodname> e
|
|
<methodname>DateTimeImmutable::createFromInterface</methodname> foram adicionados.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
O especificador de formato DateTime <literal>p</literal> foi adicionado, que é o mesmo que
|
|
<literal>P</literal>, mas retorna <literal>Z</literal> em vez de <literal>+00:00</literal>
|
|
para UTC.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.dom">
|
|
<title>DOM</title>
|
|
|
|
<para>
|
|
<interfacename>DOMParentNode</interfacename> e <interfacename>DOMChildNode</interfacename> com
|
|
novas APIs de travessia e manipulação foram adicionadas.
|
|
<!-- RFC: https://wiki.php.net/rfc/dom_living_standard_api-->
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.filter">
|
|
<title>Filtro</title>
|
|
|
|
<para>
|
|
<constant>FILTER_VALIDATE_BOOL</constant> foi adicionado como um alias para
|
|
<constant>FILTER_VALIDATE_BOOLEAN</constant>. O novo nome é preferido, pois usa o nome do
|
|
tipo canônico.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.enchant">
|
|
<title>Enchant</title>
|
|
|
|
<para>
|
|
<function>enchant_dict_add</function>, <function>enchant_dict_is_added</function> e
|
|
<constant>LIBENCHANT_VERSION</constant>foram adicionados.chant
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.fpm">
|
|
<title>FPM</title>
|
|
|
|
<para>
|
|
Adicionada uma nova opção <literal>pm.status_listen</literal> que permite obter o status de um
|
|
terminal diferente (por exemplo, porta ou arquivo UDS), o que é útil para obter o status
|
|
quando todos os filhos estão ocupados atendendo a solicitações de execução longa.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.hash">
|
|
<title>Hash</title>
|
|
|
|
<para>
|
|
Os objetos <classname>HashContext</classname> agora podem ser serializados.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.intl">
|
|
<title>Funções de Internacionalização</title>
|
|
|
|
<para>
|
|
As constantes <constant>IntlDateFormatter::RELATIVE_FULL</constant>,
|
|
<constant>IntlDateFormatter::RELATIVE_LONG</constant>,
|
|
<constant>IntlDateFormatter::RELATIVE_MEDIUM</constant> e
|
|
<constant>IntlDateFormatter::RELATIVE_SHORT</constant>
|
|
foram adicionadas.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.ldap">
|
|
<title>LDAP</title>
|
|
|
|
<para>
|
|
<function>ldap_count_references</function> foi adicionado, o que retorna o número
|
|
de mensagens de referência em um resultado de pesquisa.
|
|
</para>
|
|
</sect2>
|
|
<sect2 xml:id="migration80.new-features.opcache">
|
|
<title>OPcache</title>
|
|
|
|
<para>
|
|
Se a configuração ini <!--<link linkend="ini.opcache.record-warnings">-->opcache.record_warnings<!--</link>--> estiver
|
|
habilitada, o OPcache gravará avisos em tempo de compilação e os reproduzirá na próxima inclusão, mesmo que
|
|
seja servido do cache.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.openssl">
|
|
<title>OpenSSL</title>
|
|
|
|
<para>
|
|
Adicionado suporte de sintaxe de mensagem criptográfica (CMS) (<link xlink:href="&url.rfc;5652">RFC 5652</link>)
|
|
composto de funções para criptografia, descriptografia, assinatura, verificação e leitura. A API
|
|
é semelhante à API para funções <acronym>PKCS</acronym> #7 com a adição de novas constantes de codificação:
|
|
<constant>OPENSSL_ENCODING_DER</constant>, <constant>OPENSSL_ENCODING_SMIME</constant>
|
|
e <constant>OPENSSL_ENCODING_PEM</constant>:
|
|
<simplelist>
|
|
<member>
|
|
<function>openssl_cms_encrypt</function> criptografa a mensagem no arquivo com os certificados e
|
|
gera o resultado no arquivo fornecido.
|
|
</member>
|
|
<member>
|
|
<function>openssl_cms_decrypt</function> descriptografa a mensagem S/MIME no arquivo e envia
|
|
os resultados para o arquivo fornecido.
|
|
</member>
|
|
<member>
|
|
<function>openssl_cms_read</function> exporta o arquivo CMS para um array de
|
|
certificados <acronym>PEM</acronym>.
|
|
</member>
|
|
<member>
|
|
<function>openssl_cms_sign</function> assina a mensagem MIME no arquivo com um certificado e
|
|
uma chave e gera o resultado no arquivo fornecido.
|
|
</member>
|
|
<member>
|
|
<function>openssl_cms_verify</function> verifica se o bloco de dados está intacto, o signatário
|
|
é quem diz ser e retorna os certificados dos signatários.
|
|
</member>
|
|
</simplelist>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.pcre">
|
|
<title>Expressões Regulares (Compatíveis com Perl)</title>
|
|
|
|
<para>
|
|
<function>preg_last_error_msg</function> foi adicionada, que retorna uma mensagem legível por humanos para o último
|
|
erro PCRE. Ela complementa <function>preg_last_error</function>, que retorna um valor de enumeração
|
|
inteiro.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.reflection">
|
|
<title>Reflection</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Os seguintes métodos agora podem retornar informações sobre valores padrão
|
|
de parâmetros de funções internas:
|
|
</para>
|
|
<para>
|
|
<simplelist>
|
|
<member><methodname>ReflectionParameter::isDefaultValueAvailable</methodname></member>
|
|
<member><methodname>ReflectionParameter::getDefaultValue</methodname></member>
|
|
<member><methodname>ReflectionParameter::isDefaultValueConstant</methodname></member>
|
|
<member><methodname>ReflectionParameter::getDefaultValueConstantName</methodname></member>
|
|
</simplelist>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.sqlite3">
|
|
<title>SQLite3</title>
|
|
|
|
<para>
|
|
<methodname>SQLite3::setAuthorizer</methodname> e respectivas constantes de classe foram adicionados
|
|
para definir um callback userland que será usado para autorizar ou não uma ação no banco de dados.
|
|
<!-- PR: https://github.com/php/php-src/pull/4797 -->
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.standard">
|
|
<title>Biblioteca padrão</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<function>str_contains</function>, <function>str_starts_with</function> e
|
|
<function>str_ends_with</function> foram adicionados, que verificam se <parameter>haystack</parameter> contém,
|
|
começa com ou termina com <parameter>needle</parameter>, respectivamente.
|
|
<!-- RFC: https://wiki.php.net/rfc/str_contains -->
|
|
<!-- RFC: https://wiki.php.net/rfc/add_str_starts_with_and_ends_with_functions -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>fdiv</function> foi adicionado, que executa uma divisão de ponto flutuante sob a semântica IEEE 754.
|
|
A divisão por zero é considerada bem definida e retornará um de <literal>Inf</literal>,
|
|
<literal>-Inf</literal> ou <literal>NaN</literal>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>get_debug_type</function> foi adicionado, o que retorna um tipo útil para mensagens de erro. Ao contrário de
|
|
<function>gettype</function>, ele usa nomes de tipo canônico, retorna nomes de classe para objetos e
|
|
indica o tipo de recurso para recursos.
|
|
<!-- RFC: https://wiki.php.net/rfc/get_debug_type -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>printf</function> e amigos agora suportam os especificadores de formato <literal>%h</literal> e
|
|
<literal>%H</literal>. Estes são os mesmos que <literal>%g</literal> e
|
|
<literal>%G</literal>, mas sempre use <literal>"."</literal> como o separador decimal, em vez
|
|
de determiná-lo por meio da localidade <constant>LC_NUMERIC</constant>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>printf</function> e amigos agora suportam o uso de <literal>"*"</literal> como largura
|
|
ou precisão, caso em que a largura/precisão é passada como um argumento para printf. Isso também permite
|
|
usar a precisão <literal>-1</literal> com <literal>%g</literal>, <literal>%G</literal>,
|
|
<literal>%h</literal> e <literal>%H</literal>. Por exemplo, o código a seguir pode ser usado para
|
|
reproduzir a formatação de ponto flutuante padrão do PHP:
|
|
</para>
|
|
<para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
printf("%.*H", (int) ini_get("precision"), $float);
|
|
printf("%.*H", (int) ini_get("serialize_precision"), $float);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>proc_open</function> agora suporta descritores pseudo-terminal (PTY). O seguinte
|
|
anexa <literal>stdin</literal>, <literal>stdout</literal> e <literal>stderr</literal> ao
|
|
mesmo PTY:
|
|
</para>
|
|
<para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$proc = proc_open($command, [['pty'], ['pty'], ['pty']], $pipes);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>proc_open</function> agora suporta descritores de pares de sockets. O seguinte anexa
|
|
um par de sockets distinto a <literal>stdin</literal>, <literal>stdout</literal> e
|
|
<literal>stderr</literal>:
|
|
</para>
|
|
<para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$proc = proc_open($command, [['socket'], ['socket'], ['socket']], $pipes);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
<para>
|
|
Ao contrário dos pipes, os sockets não sofrem com problemas de bloqueio de E/S no Windows.
|
|
No entanto, nem todos os programas podem funcionar corretamente com soquetes stdio.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
As funções de classificação agora são estáveis, o que significa que os elementos de comparação igual
|
|
manterão sua ordem original.
|
|
<!-- RFC: https://wiki.php.net/rfc/stable_sorting -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>array_diff</function>, <function>array_intersect</function> e suas variações agora podem
|
|
ser usadas com um único array como argumento. Isso significa que usos como os seguintes agora são
|
|
possíveis:
|
|
</para>
|
|
<para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// OK, mesmo que $excludes esteja vazio:
|
|
array_diff($array, ...$excludes);
|
|
// OK, mesmo que $arrays contenha apenas um único array:
|
|
array_intersect(...$arrays);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
O parâmetro <parameter>flag</parameter> de <function>ob_implicit_flush</function> foi alterado
|
|
para aceitar um <type>bool</type> em vez de um <type>int</type>.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.tokenizer">
|
|
<title>Tokenizador</title>
|
|
|
|
<para>
|
|
<classname>PhpToken</classname> adiciona uma interface baseada em objeto ao tokenizer. Ele fornece uma
|
|
representação mais uniforme e ergonômica, além de ser mais eficiente em termos de memória e mais rápido.
|
|
<!-- RFC: https://wiki.php.net/rfc/token_as_object -->
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.zip">
|
|
<title>Zip</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
A extensão Zip foi atualizada para a versão 1.19.1.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Novo <methodname>ZipArchive::setMtimeName</methodname> e
|
|
<methodname>ZipArchive::setMtimeIndex</methodname> para definir a hora de modificação de uma entrada.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Novo <methodname>ZipArchive::registerProgressCallback</methodname> para fornecer atualizações durante o fechamento do arquivo.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Novo <methodname>ZipArchive::registerCancelCallback</methodname> para permitir o cancelamento durante o fechamento
|
|
do arquivo.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Novo <methodname>ZipArchive::replaceFile</methodname> para substituir um conteúdo de entrada.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Novo <methodname>ZipArchive::isCompressionMethodSupported</methodname> para verificar os recursos opcionais de
|
|
compactação.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Novo <methodname>ZipArchive::isEncryptionMethodSupported</methodname> para verificar os recursos opcionais de
|
|
criptografia.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
A propriedade <varname>ZipArchive::lastId</varname> para obter o valor do índice da
|
|
última entrada adicionada foi adicionada.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Os erros agora podem ser verificados após o fechamento de um arquivo usando as propriedades
|
|
<varname>ZipArchive::status</varname> e
|
|
<varname>ZipArchive::statusSys</varname> ou o método
|
|
<methodname>ZipArchive::getStatusString</methodname>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
A opção <literal>'remove_path'</literal> de <methodname>ZipArchive::addGlob</methodname> e
|
|
<methodname>ZipArchive::addPattern</methodname> agora é tratada como um prefixo de string arbitrário (para
|
|
consistência com a opção <literal>'add_path'</literal>), enquanto anteriormente era tratada como um
|
|
nome de diretório.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Os recursos opcionais de compactação/criptografia agora estão listados no phpinfo.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</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
|
|
-->
|