<?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 => 'es',
  ),
  'this' => 
  array (
    0 => 'migration73.new-features.php',
    1 => 'Nuevas caracter&iacute;sticas',
    2 => 'Nuevas caracter&iacute;sticas',
  ),
  'up' => 
  array (
    0 => 'migration73.php',
    1 => 'Migraci&oacute;n de PHP 7.2.x a PHP 7.3.x',
  ),
  'prev' => 
  array (
    0 => 'migration73.php',
    1 => 'Migraci&oacute;n de PHP 7.2.x a PHP 7.3.x',
  ),
  'next' => 
  array (
    0 => 'migration73.new-functions.php',
    1 => 'Nuevas funciones',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'appendices/migration73/new-features.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="migration73.new-features" class="sect1">
 <h2 class="title">Nuevas características</h2>

 <div class="sect2" id="migration73.new-features.core">
  <h3 class="title">Núcleo de PHP</h3>

  <div class="sect3" id="migration73.new-features.core.heredoc">
   <h4 class="title">Sintaxis Más Flexible para Heredoc y Nowdoc</h4>

   <p class="para">
    El marcador de cierre para las cadenas doc ya no es requerido de ser seguido por
    un punto y coma o un retorno de línea. Adicionalmente, el marcador de cierre puede ser indentado, en este caso la indentación será retirada de todas
    las líneas en la cadena doc.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.core.destruct-reference">
   <h4 class="title">La Desestructuración de Arrays Soporta las Asignaciones de Referencia</h4>

   <p class="para">
    La desestructuración de arrays soporta ahora las asignaciones de
    referencia utilizando la sintaxis
    <code class="literal">[&amp;$a, [$b, &amp;$c]] = $d</code>.
    Esto también es soportado para <span class="function"><a href="function.list.php" class="function">list()</a></span>.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.core.instanceof-literals">
   <h4 class="title">El Operador Instanceof Acepta los Literales</h4>

   <p class="para">
    <code class="literal">instanceof</code> acepta ahora los literales como primer
    operando, en este caso el resultado es siempre <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.core.compileerror">
   <h4 class="title">Excepción CompileError en Lugar de Algunos Errores de Compilación</h4>

   <p class="para">
    Se ha añadido una nueva excepción <span class="classname"><a href="class.compileerror.php" class="classname">CompileError</a></span>, de la cual <span class="classname"><a href="class.parseerror.php" class="classname">ParseError</a></span> hereda. Un pequeño número de errores
    de compilación lanzarán ahora <span class="classname"><a href="class.compileerror.php" class="classname">CompileError</a></span> en lugar de generar un error fatal. Actualmente esto afecta únicamente a los
    errores de compilación que pueden ser lanzados por
    <span class="function"><a href="function.token-get-all.php" class="function">token_get_all()</a></span> en el modo <strong><code><a href="tokenizer.constants.php#constant.token-parse">TOKEN_PARSE</a></code></strong>,
    pero más errores podrán ser convertidos en el futuro.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.core.trailing-commas">
   <h4 class="title">Las Comas de Fin son Autorizadas en las Llamadas</h4>

   <p class="para">
    Las comas de fin en las llamadas de funciones y métodos son ahora
    autorizadas.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.core.argon2id">
   <h4 class="title">Soporte para Argon2id</h4>

   <p class="para">
    El argumento de configuración
    <strong class="option configure">--with-password-argon2[=dir]</strong>
    proporciona ahora el soporte para los hash Argon2i y Argon2id en las
    funciones <span class="function"><a href="function.password-hash.php" class="function">password_hash()</a></span>,
    <span class="function"><a href="function.password-verify.php" class="function">password_verify()</a></span>,
    <span class="function"><a href="function.password-get-info.php" class="function">password_get_info()</a></span>, y
    <span class="function"><a href="function.password-needs-rehash.php" class="function">password_needs_rehash()</a></span>. Las contraseñas pueden ser
    hasheadas y verificadas utilizando la constante <strong><code><a href="password.constants.php#constant.password-argon2id">PASSWORD_ARGON2ID</a></code></strong>.
    El soporte para Argon2i y Argon2id en las funciones
    <span class="function"><strong>password_*()</strong></span> requiere ahora que PHP esté ligado a
    la biblioteca de referencia libargon2 ≥ 20161029.
   </p>
  </div>

 </div>

 <div class="sect2" id="migration73.new-features.fpm">
  <h3 class="title">Gestor de Procesos FastCGI</h3>

  <p class="para">
   Se han añadido nuevas opciones para personalizar los registros de eventos FPM :
   <dl>
    
     <dt><code class="literal">log_limit</code></dt>
     <dd>
      <span class="simpara">
       Esta opción global puede ser utilizada para definir el límite de registro
       para la línea registrada, lo que permite consignar mensajes de
       más de 1024 caracteres sin retorno de línea. También corrige diversos problemas de embalaje (retorno de línea).
      </span>
     </dd>
    
    
     <dt><code class="literal">log_buffering</code></dt>
     <dd>
      <span class="simpara">
       Esta opción global permite un registro experimental sin almacenamiento en búfer adicional.
      </span>
     </dd>
    
    
     <dt><code class="literal">decorate_workers_output</code></dt>
     <dd>
      <span class="simpara">
       Esta opción de pool permite desactivar la decoración de salida para
       las salidas de los workers cuando <code class="literal">catch_workers_output</code>
       está activado.
      </span>
     </dd>
    
   </dl>
  </p>
 </div>

 <div class="sect2" id="migration73.new-features.bc">
  <h3 class="title">Funciones BC Math</h3>

  <p class="para">
   <span class="function"><a href="function.bcscale.php" class="function">bcscale()</a></span> puede ahora ser utilizado como
   recuperador para recuperar la precisión actualmente en uso.
  </p>
 </div>

 <div class="sect2" id="migration73.new-features.ldap">
  <h3 class="title">Protocolo Ligero de Acceso a Directorios</h3>

  <p class="para">
   Se ha añadido soporte total para los Controles LDAP a las funciones de consulta
   <a href="book.ldap.php" class="link">LDAP</a> y
   <span class="function"><a href="function.ldap-parse-result.php" class="function">ldap_parse_result()</a></span> :
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      Se ha añadido un parámetro <code class="literal">$controls</code> para enviar los controles
      al servidor en <span class="function"><a href="function.ldap-add.php" class="function">ldap_add()</a></span>,
      <span class="function"><a href="function.ldap-mod-replace.php" class="function">ldap_mod_replace()</a></span>, <span class="function"><a href="function.ldap-mod-add.php" class="function">ldap_mod_add()</a></span>,
      <span class="function"><a href="function.ldap-mod-del.php" class="function">ldap_mod_del()</a></span>, <span class="function"><a href="function.ldap-rename.php" class="function">ldap_rename()</a></span>,
      <span class="function"><a href="function.ldap-compare.php" class="function">ldap_compare()</a></span>, <span class="function"><a href="function.ldap-delete.php" class="function">ldap_delete()</a></span>,
      <span class="function"><a href="function.ldap-modify-batch.php" class="function">ldap_modify_batch()</a></span>,
      <span class="function"><a href="function.ldap-search.php" class="function">ldap_search()</a></span>, <span class="function"><a href="function.ldap-list.php" class="function">ldap_list()</a></span> y
      <span class="function"><a href="function.ldap-read.php" class="function">ldap_read()</a></span>.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Se ha añadido el parámetro de salida <code class="literal">$controls</code> para recuperar los
      controles desde el servidor en <span class="function"><a href="function.ldap-parse-result.php" class="function">ldap_parse_result()</a></span>.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Se ha corregido el soporte para <strong><code><a href="ldap.constants.php#constant.ldap-opt-server-controls">LDAP_OPT_SERVER_CONTROLS</a></code></strong> y
      <strong><code><a href="ldap.constants.php#constant.ldap-opt-client-controls">LDAP_OPT_CLIENT_CONTROLS</a></code></strong> en
      <span class="function"><a href="function.ldap-get-option.php" class="function">ldap_get_option()</a></span> y
      <span class="function"><a href="function.ldap-set-option.php" class="function">ldap_set_option()</a></span>.
     </span>
    </li>
   </ul>
  </p>
 </div>

 <div class="sect2" id="migration73.new-features.mbstring">
  <h3 class="title">Funciones para las Cadenas Multi-Octetos</h3>

  <div class="sect3" id="migration73.new-features.mbstring.case-mapping-folding">
   <h4 class="title">Soporte para el Mapeo de Caja Completa y Plegado de Caja</h4>

   <p class="para">
    Se ha añadido soporte para el mapeo de caja completa y plegado de caja.
    A diferencia del mapeo básico de caja, el mapeo de caja completa puede
    modificar la longitud de la cadena. Por ejemplo :
    <div class="informalexample">
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />mb_strtoupper</span><span style="color: #007700">(</span><span style="color: #DD0000">"Straße"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// Produce STRAßE en PHP 7.2<br />// Produce STRASSE en PHP 7.3<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
    Los diferentes modos de mapeo y plegado de caja están disponibles a
    través de <span class="function"><a href="function.mb-convert-case.php" class="function">mb_convert_case()</a></span> :
    <ul class="itemizedlist">
     <li class="listitem">
      <span class="simpara">
       <strong><code><a href="mbstring.constants.php#constant.mb-case-lower">MB_CASE_LOWER</a></code></strong> (utilizado por <span class="function"><a href="function.mb-strtolower.php" class="function">mb_strtolower()</a></span>)
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       <strong><code><a href="mbstring.constants.php#constant.mb-case-upper">MB_CASE_UPPER</a></code></strong> (utilizado por <span class="function"><a href="function.mb-strtoupper.php" class="function">mb_strtoupper()</a></span>)
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       <strong><code><a href="mbstring.constants.php#constant.mb-case-title">MB_CASE_TITLE</a></code></strong>
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       <strong><code><a href="mbstring.constants.php#constant.mb-case-fold">MB_CASE_FOLD</a></code></strong>
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       <strong><code><a href="mbstring.constants.php#constant.mb-case-lower-simple">MB_CASE_LOWER_SIMPLE</a></code></strong>
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       <strong><code><a href="mbstring.constants.php#constant.mb-case-upper-simple">MB_CASE_UPPER_SIMPLE</a></code></strong>
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       <strong><code><a href="mbstring.constants.php#constant.mb-case-title-simple">MB_CASE_TITLE_SIMPLE</a></code></strong>
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       <strong><code><a href="mbstring.constants.php#constant.mb-case-fold-simple">MB_CASE_FOLD_SIMPLE</a></code></strong> (utilizado por las operaciones insensibles a la caja)
      </span>
     </li>
    </ul>
    Solo se realiza un mapeo completo de caja, incondicional e independiente del idioma.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.mbstring.case-insensitive-ops">
   <h4 class="title">Las Operaciones de Cadenas Insensibles a la Caja Utilizan el Plegado de Caja</h4>

   <p class="para">
    Las operaciones de cadenas insensibles a la caja utilizan ahora el plegado
    de caja en lugar del mapeo de caja durante las comparaciones. Esto significa
    que más caracteres serán considerados (insensibles a la caja) iguales ahora.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.mbstring.mb-case-title">
   <h4 class="title">MB_CASE_TITLE Ejecuta una Conversión de Caja de Título</h4>

   <p class="para">
    <span class="function"><a href="function.mb-convert-case.php" class="function">mb_convert_case()</a></span> con <strong><code><a href="mbstring.constants.php#constant.mb-case-title">MB_CASE_TITLE</a></code></strong>
    ejecuta ahora una conversión de caja de título basada en las propiedades
    derivadas Unicode Cased y CaseIgnorable. En particular, esto también mejora
    la gestión de las comillas y apóstrofes.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.mbstring.ucd11">
   <h4 class="title">Soporte para Unicode 11</h4>

   <p class="para">
    Las tablas de datos para las
    <a href="book.mbstring.php" class="link">Cadenas Multi-octetos</a>
    han sido actualizadas para Unicode 11.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.mbstring.long-strings">
   <h4 class="title">Soporte para las Cadenas Largas</h4>

   <p class="para">
    Las <a href="ref.mbstring.php" class="link">Funciones de Cadenas Multi-Octetos</a>
    soportan ahora correctamente las cadenas más grandes que 2Go.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.mbstring.performance">
   <h4 class="title">Mejora de las Performances</h4>

   <p class="para">
    Las performances de la extensión de las <a href="book.mbstring.php" class="link">Cadenas
    Multi-Octetos</a> han sido mejoradas de manera significativa a todos los niveles.
    Las mayores mejoras están en las funciones de conversión de caja.
   </p>
  </div>

  <div class="sect3" id="migration73.new-features.mbstring.named-captures">
   <h4 class="title">Soporte para las Capturas Nombradas</h4>

   <p class="para">
    Las funciones <code class="literal">mb_ereg_*</code> soportan ahora las capturas
    nombradas. Las funciones de correspondencias como <span class="function"><a href="function.mb-ereg.php" class="function">mb_ereg()</a></span>
    devolverán ahora las capturas nombradas utilizando tanto sus
    números de grupo como sus nombres, similares a PCRE :
    <div class="informalexample">
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />mb_ereg</span><span style="color: #007700">(</span><span style="color: #DD0000">'(?&lt;word&gt;\w+)'</span><span style="color: #007700">, </span><span style="color: #DD0000">'国'</span><span style="color: #007700">, </span><span style="color: #0000BB">$matches</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// =&gt; [0 =&gt; "国", 1 =&gt; "国", "word" =&gt; "国"];<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
    Además, <span class="function"><a href="function.mb-ereg-replace.php" class="function">mb_ereg_replace()</a></span> soporta ahora las
    notaciones <code class="code">\k&lt;&gt;</code> y <code class="code">\k&#039;&#039;</code> para hacer referencia
    a las capturas nombradas en la cadena de reemplazo :
    <div class="informalexample">
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />mb_ereg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">'\s*(?&lt;word&gt;\w+)\s*'</span><span style="color: #007700">, </span><span style="color: #DD0000">"_\k&lt;word&gt;_\k'word'_"</span><span style="color: #007700">, </span><span style="color: #DD0000">' foo '</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// =&gt; "_foo_foo_"<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
    <code class="code">\k&lt;&gt;</code> y <code class="code">\k&#039;&#039;</code> pueden también ser utilizados para
    las referencias numéricas, que también funcionan con números de grupo
    superiores a 9.
   </p>
  </div>

 </div>

 <div class="sect2" id="migration73.new-features.realine">
  <h3 class="title">Readline</h3>

  <p class="para">
   Se ha añadido soporte para las opciones <code class="literal">completion_append_character</code>
   y <code class="literal">completion_suppress_append</code> a
   <span class="function"><a href="function.readline-info.php" class="function">readline_info()</a></span>. Estas opciones están disponibles solo
   si PHP está ligado a libreadline (en lugar de libedit).
  </p>
 </div>

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