mirror of
https://github.com/php/doc-es.git
synced 2026-03-23 23:12:09 +01:00
641 lines
22 KiB
XML
641 lines
22 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 497c40ac164d5873fd87f622dfdeb5206392b446 Maintainer: julionc Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
<sect1 xml:id="migration80.new-features" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>Nuevas características</title>
|
|
|
|
<sect2 xml:id="migration80.new-features.core">
|
|
<title>Núcleo de PHP</title>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.named-arguments">
|
|
<title>Argumentos nombrados</title>
|
|
|
|
<para>
|
|
<!-- RFC: https://wiki.php.net/rfc/named_params -->
|
|
Se ha añadido soporte para los<link linkend="functions.named-arguments">Argumentos nombrados</link>.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.attributes">
|
|
<title>Atributos</title>
|
|
|
|
<para>
|
|
Se ha añadido soporte para los <link linkend="language.attributes">Atributos</link>.
|
|
<!-- 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>Promoción de propiedades en el constructor</title>
|
|
|
|
<para>
|
|
Se ha añadido soporte para la <link linkend="language.oop5.decon.constructor.promotion">promoción de propiedades en el constructor</link> (declarar propiedades en la firma del constructor).
|
|
<!-- RFC: https://wiki.php.net/rfc/constructor_promotion -->
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.union-types">
|
|
<title>Tipos de unión</title>
|
|
|
|
<para>
|
|
Se ha añadido soporte para los <link linkend="language.types.declarations.composite.union">tipos de unión</link>.
|
|
<!-- RFC: https://wiki.php.net/rfc/union_types_v2 -->
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.match">
|
|
<title>Expresión match</title>
|
|
|
|
<para>
|
|
Se ha añadido soporte para las <link linkend="control-structures.match">expresiones <literal>match</literal></link>.
|
|
<!-- 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>
|
|
Se ha añadido soporte para el <link linkend="language.oop5.basic.nullsafe">operador nullsafe</link> (<literal>?-></literal>).
|
|
<!-- RFC: https://wiki.php.net/rfc/nullsafe_operator -->
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="migration80.new-features.core.others">
|
|
<title>Otras nuevas características</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<!-- we cannot use <classname>WeakMap</classname> because that would link to the wrong class -->
|
|
Se ha añadido la clase <literal>WeakMap</literal>.
|
|
<!-- RFC: https://wiki.php.net/rfc/weak_maps -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Se ha añadido la clase <classname>ValueError</classname>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Cualquier número de parámetros de función ahora puede ser reemplazado por un argumento variádico, siempre que los
|
|
tipos sean compatibles. Por ejemplo, el siguiente código ahora está 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 en "enlace estático en tiempo de ejecución") ahora puede ser usado como 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>
|
|
Ahora es posible obtener el nombre de la clase de un objeto usando
|
|
<code>$object::class</code>. El resultado es el mismo que <code>get_class($object)</code>.
|
|
<!-- RFC: https://wiki.php.net/rfc/class_name_literal_on_object -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
&new; e &instanceof; ahora pueden ser usados con expresiones arbitrarias,
|
|
usando <code>new (expression)(...$args)</code> y <code>$obj instanceof (expression)</code>.
|
|
<!-- RFC: https://wiki.php.net/rfc/variable_syntax_tweaks -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Se han aplicado algunas correcciones de consistencia en la sintaxis de variables, por ejemplo, escribir
|
|
<code>Foo::BAR::$baz</code> ahora está permitido.
|
|
<!-- RFC: https://wiki.php.net/rfc/variable_syntax_tweaks -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Se ha añadido la interfaz <interfacename>Stringable</interfacename>, que se implementa automáticamente si
|
|
una clase define un método <link linkend="object.tostring">__toString()</link>.
|
|
<!-- RFC: https://wiki.php.net/rfc/stringable -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Los traits ahora pueden definir métodos privados abstractos.
|
|
Dichos métodos deben ser implementados por la clase que usa el trait.
|
|
<!-- RFC: https://wiki.php.net/rfc/abstract_trait_method_validation -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>throw</literal> ahora puede ser usado como una expresión.
|
|
Esto permite usos como:
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$fn = fn() => throw new Exception('Exception in arrow function');
|
|
$user = $session->user ?? throw new Exception('Must have user');
|
|
]]>
|
|
</programlisting>
|
|
<!-- RFC: https://wiki.php.net/rfc/throw_expression -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Ahora se permite una coma final opcional en las listas de parámetros.
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
function functionWithLongSignature(
|
|
Type1 $parameter1,
|
|
Type2 $parameter2, // <-- This comma is now allowed.
|
|
) {
|
|
}
|
|
]]>
|
|
</programlisting>
|
|
<!-- RFC: https://wiki.php.net/rfc/trailing_comma_in_parameter_list -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Ahora es posible escribir <code>catch (Exception)</code> para capturar una excepción sin almacenarla
|
|
en una variable.
|
|
<!-- RFC: https://wiki.php.net/rfc/non-capturing_catches -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Se ha añadido soporte para el tipo <type>mixed</type>.
|
|
<!-- RFC: https://wiki.php.net/rfc/mixed_type_v2 -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Los métodos privados declarados en una clase padre ya no imponen ninguna regla de herencia sobre los métodos
|
|
de una clase hija (con la excepción de los constructores privados finales).
|
|
El siguiente ejemplo ilustra qué restricciones han sido eliminadas:
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
class ParentClass {
|
|
private function method1() {}
|
|
private function method2() {}
|
|
private static function method3() {}
|
|
// Throws a warning, as "final" no longer has an effect:
|
|
private final function method4() {}
|
|
}
|
|
class ChildClass extends ParentClass {
|
|
// All of the following are now allowed, even though the modifiers aren't
|
|
// the same as for the private methods in the parent class.
|
|
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>
|
|
Se ha añadido <function>get_resource_id</function>, que devuelve el mismo valor que
|
|
<code>(int) $resource</code>. Proporciona la misma funcionalidad con una API más clara.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.date">
|
|
<title>Fecha y hora</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Se han añadido <methodname>DateTime::createFromInterface</methodname> y
|
|
<methodname>DateTimeImmutable::createFromInterface</methodname>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Se ha añadido el especificador de formato DateTime <literal>p</literal>, que es igual que
|
|
<literal>P</literal> pero devuelve <literal>Z</literal> en lugar de <literal>+00:00</literal>
|
|
para UTC.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.dom">
|
|
<title>DOM</title>
|
|
|
|
<para>
|
|
Se han añadido <interfacename>DOMParentNode</interfacename> y <interfacename>DOMChildNode</interfacename> con
|
|
nuevas API de recorrido y manipulación.
|
|
<!-- RFC: https://wiki.php.net/rfc/dom_living_standard_api-->
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.filter">
|
|
<title>Filter</title>
|
|
|
|
<para>
|
|
Se ha añadido <constant>FILTER_VALIDATE_BOOL</constant> como alias de
|
|
<constant>FILTER_VALIDATE_BOOLEAN</constant>. Se prefiere el nuevo nombre, ya que utiliza el nombre
|
|
de tipo canónico.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.enchant">
|
|
<title>Enchant</title>
|
|
|
|
<para>
|
|
Se han añadido <function>enchant_dict_add</function>, <function>enchant_dict_is_added</function> y
|
|
<constant>LIBENCHANT_VERSION</constant>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.fpm">
|
|
<title>FPM</title>
|
|
|
|
<para>
|
|
Se ha añadido una nueva opción <literal>pm.status_listen</literal> que permite obtener el estado desde
|
|
un endpoint diferente (por ejemplo, un puerto o archivo UDS), lo cual es útil para obtener el estado cuando todos
|
|
los procesos hijos están ocupados sirviendo peticiones de larga duración.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.hash">
|
|
<title>Hash</title>
|
|
|
|
<para>
|
|
Los objetos <classname>HashContext</classname> ahora pueden ser serializados.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.intl">
|
|
<title>Funciones de internacionalización</title>
|
|
|
|
<para>
|
|
Se han añadido las constantes <constant>IntlDateFormatter::RELATIVE_FULL</constant>,
|
|
<constant>IntlDateFormatter::RELATIVE_LONG</constant>,
|
|
<constant>IntlDateFormatter::RELATIVE_MEDIUM</constant> y
|
|
<constant>IntlDateFormatter::RELATIVE_SHORT</constant>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.ldap">
|
|
<title>LDAP</title>
|
|
|
|
<para>
|
|
Se ha añadido <function>ldap_count_references</function>, que devuelve el número
|
|
de mensajes de referencia en un resultado de búsqueda.
|
|
</para>
|
|
</sect2>
|
|
<sect2 xml:id="migration80.new-features.opcache">
|
|
<title>OPcache</title>
|
|
|
|
<para>
|
|
Si la directiva ini <!--<link linkend="ini.opcache.record-warnings">-->opcache.record_warnings<!--</link>--> está
|
|
habilitada, OPcache registrará las advertencias en tiempo de compilación y las reproducirá en el siguiente include, incluso si
|
|
se sirve desde la caché.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.openssl">
|
|
<title>OpenSSL</title>
|
|
|
|
<para>
|
|
Se ha añadido soporte para Cryptographic Message Syntax (CMS) (<link xlink:href="&url.rfc;5652">RFC 5652</link>)
|
|
compuesto por funciones para cifrado, descifrado, firma, verificación y lectura. La API
|
|
es similar a la API de las funciones PKCS #7 con la adición de nuevas constantes de codificación:
|
|
<constant>OPENSSL_ENCODING_DER</constant>, <constant>OPENSSL_ENCODING_SMIME</constant>
|
|
y <constant>OPENSSL_ENCODING_PEM</constant>:
|
|
<simplelist>
|
|
<member>
|
|
<function>openssl_cms_encrypt</function> cifra el mensaje en el archivo con los certificados
|
|
y envía el resultado al archivo proporcionado.
|
|
</member>
|
|
<member>
|
|
<function>openssl_cms_decrypt</function> descifra el mensaje S/MIME en el archivo y envía
|
|
los resultados al archivo proporcionado.
|
|
</member>
|
|
<member>
|
|
<function>openssl_cms_read</function> exporta el archivo CMS a un array de certificados PEM.
|
|
</member>
|
|
<member>
|
|
<function>openssl_cms_sign</function> firma el mensaje MIME en el archivo con un certificado y una clave
|
|
y envía el resultado al archivo proporcionado.
|
|
</member>
|
|
<member>
|
|
<function>openssl_cms_verify</function> verifica que el bloque de datos está intacto, que el firmante
|
|
es quien dice ser, y devuelve los certificados de los firmantes.
|
|
</member>
|
|
</simplelist>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.pcre">
|
|
<title>Expresiones regulares (compatibles con Perl)</title>
|
|
|
|
<para>
|
|
Se ha añadido <function>preg_last_error_msg</function>, que devuelve un mensaje legible para el último
|
|
error PCRE. Complementa a <function>preg_last_error</function>, que devuelve un valor entero de enumeración
|
|
en su lugar.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.reflection">
|
|
<title>Reflexión</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Los siguientes métodos ahora pueden devolver información sobre los valores predeterminados de
|
|
los parámetros de las funciones 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>
|
|
Se han añadido <methodname>SQLite3::setAuthorizer</methodname> y las constantes de clase correspondientes
|
|
para establecer una función de retorno de llamada de usuario que se utilizará para autorizar o no una acción en la base de datos.
|
|
<!-- PR: https://github.com/php/php-src/pull/4797 -->
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.standard">
|
|
<title>Biblioteca estándar</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Se han añadido <function>str_contains</function>, <function>str_starts_with</function> y
|
|
<function>str_ends_with</function>, que comprueban si <parameter>haystack</parameter> contiene,
|
|
comienza con o termina con <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>
|
|
Se ha añadido <function>fdiv</function>, que realiza una división de punto flotante según la semántica IEEE 754.
|
|
La división por cero se considera bien definida y devolverá uno de <literal>Inf</literal>,
|
|
<literal>-Inf</literal> o <literal>NaN</literal>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Se ha añadido <function>get_debug_type</function>, que devuelve un tipo útil para mensajes de error. A diferencia de
|
|
<function>gettype</function>, utiliza nombres de tipo canónicos, devuelve nombres de clase para objetos e
|
|
indica el tipo de recurso para los recursos.
|
|
<!-- RFC: https://wiki.php.net/rfc/get_debug_type -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>printf</function> y funciones similares ahora soportan los especificadores de formato <literal>%h</literal> y
|
|
<literal>%H</literal>. Son iguales que <literal>%g</literal> y
|
|
<literal>%G</literal>, pero siempre usan <literal>"."</literal> como separador decimal, en lugar
|
|
de determinarlo a través de la configuración regional <constant>LC_NUMERIC</constant>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>printf</function> y funciones similares ahora soportan el uso de <literal>"*"</literal> como ancho o
|
|
precisión, en cuyo caso el ancho/precisión se pasa como argumento a printf. Esto también permite
|
|
usar precisión <literal>-1</literal> con <literal>%g</literal>, <literal>%G</literal>,
|
|
<literal>%h</literal> y <literal>%H</literal>. Por ejemplo, el siguiente código puede usarse para
|
|
reproducir el formato predeterminado de punto flotante de 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> ahora soporta descriptores de pseudo-terminal (PTY). Lo siguiente
|
|
conecta <literal>stdin</literal>, <literal>stdout</literal> y <literal>stderr</literal> al
|
|
mismo 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> ahora soporta descriptores de pares de sockets. Lo siguiente conecta un
|
|
par de sockets distinto a <literal>stdin</literal>, <literal>stdout</literal> y
|
|
<literal>stderr</literal>:
|
|
</para>
|
|
<para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$proc = proc_open($command, [['socket'], ['socket'], ['socket']], $pipes);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
<para>
|
|
A diferencia de las tuberías, los sockets no sufren problemas de E/S bloqueante en Windows. Sin embargo, no todos
|
|
los programas pueden funcionar correctamente con sockets stdio.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Las funciones de ordenamiento ahora son estables, lo que significa que los elementos que se comparan como iguales conservarán su
|
|
orden original.
|
|
<!-- RFC: https://wiki.php.net/rfc/stable_sorting -->
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<function>array_diff</function>, <function>array_intersect</function> y sus variaciones ahora pueden
|
|
ser usadas con un solo array como argumento. Esto significa que usos como los siguientes ahora son
|
|
posibles:
|
|
</para>
|
|
<para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// OK even if $excludes is empty:
|
|
array_diff($array, ...$excludes);
|
|
// OK even if $arrays only contains a single array:
|
|
array_intersect(...$arrays);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
El parámetro <parameter>flag</parameter> de <function>ob_implicit_flush</function> fue cambiado
|
|
para aceptar un <type>bool</type> en lugar de un <type>int</type>.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.tokenizer">
|
|
<title>Tokenizer</title>
|
|
|
|
<para>
|
|
<classname>PhpToken</classname> añade una interfaz basada en objetos al tokenizer. Proporciona una
|
|
representación más uniforme y ergonómica, siendo al mismo tiempo más eficiente en memoria y más rápida.
|
|
<!-- RFC: https://wiki.php.net/rfc/token_as_object -->
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="migration80.new-features.zip">
|
|
<title>Zip</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
La extensión Zip ha sido actualizada a la versión 1.19.1.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Nuevos <methodname>ZipArchive::setMtimeName</methodname> y
|
|
<methodname>ZipArchive::setMtimeIndex</methodname> para establecer la hora de modificación de una entrada.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Nuevo <methodname>ZipArchive::registerProgressCallback</methodname> para proporcionar actualizaciones durante el cierre del archivo.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Nuevo <methodname>ZipArchive::registerCancelCallback</methodname> para permitir la cancelación durante el cierre
|
|
del archivo.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Nuevo <methodname>ZipArchive::replaceFile</methodname> para reemplazar el contenido de una entrada.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Nuevo <methodname>ZipArchive::isCompressionMethodSupported</methodname> para verificar las características opcionales de
|
|
compresión.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Nuevo <methodname>ZipArchive::isEncryptionMethodSupported</methodname> para verificar las características opcionales de
|
|
cifrado.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Se ha añadido la propiedad <varname>ZipArchive::lastId</varname> para obtener el valor del índice
|
|
de la última entrada añadida.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Ahora se pueden verificar los errores después de que un archivo ha sido cerrado usando las propiedades
|
|
<varname>ZipArchive::status</varname> y
|
|
<varname>ZipArchive::statusSys</varname>, o el método
|
|
<methodname>ZipArchive::getStatusString</methodname>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
La opción <literal>'remove_path'</literal> de <methodname>ZipArchive::addGlob</methodname> y
|
|
<methodname>ZipArchive::addPattern</methodname> ahora se trata como un prefijo de cadena arbitrario (para
|
|
mantener la consistencia con la opción <literal>'add_path'</literal>), mientras que anteriormente se trataba como un
|
|
nombre de directorio.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Las características opcionales de compresión / cifrado ahora se listan en 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
|
|
-->
|