<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/migration85.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'migration85.deprecated.php',
    1 => 'Funcionalidades obsoletas',
    2 => 'Funcionalidades obsoletas',
  ),
  'up' => 
  array (
    0 => 'migration85.php',
    1 => 'Migraci&oacute;n de PHP 8.4.x a PHP 8.5.x',
  ),
  'prev' => 
  array (
    0 => 'migration85.incompatible.php',
    1 => 'Cambios incompatibles con versiones anteriores',
  ),
  'next' => 
  array (
    0 => 'migration85.other-changes.php',
    1 => 'Otros cambios',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'appendices/migration85/deprecated.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="migration85.deprecated" class="sect1">
 <h2 class="title">Funcionalidades obsoletas</h2>

 <div class="sect2" id="migration85.deprecated.core">
  <h3 class="title">Núcleo de PHP</h3>

  <div class="sect3" id="migration85.deprecated.core.changes-to-user-output-handler">
   <h4 class="title">Cambios en el controlador de salida del usuario</h4>
   

   <p class="simpara">
    Intentar generar salida (p. ej., con <span class="function"><a href="function.echo.php" class="function">echo</a></span>) dentro de
    un controlador de salida de usuario está obsoleto.
    La advertencia de obsolescencia omitirá el controlador que genera la salida para
    garantizar su visibilidad; si existen controladores de salida anidados, se seguirá
    utilizando el siguiente.
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.non-canonical-cast-names">
   <h4 class="title">Nombres de conversiones no canónicos</h4>
   

   <p class="simpara">
    Los nombres de conversiones no canónicos <code class="literal">(boolean)</code>,
    <code class="literal">(integer)</code>, <code class="literal">(double)</code>,
    y <code class="literal">(binary)</code> han quedado obsoletos,
    use <code class="literal">(bool)</code>, <code class="literal">(int)</code>,
    <code class="literal">(float)</code>, y <code class="literal">(string)</code> respectivamente.
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.case-statements-with-semicolon">
   <h4 class="title">Finalizar las declaraciones de caso con un punto y coma</h4>
   

   <p class="simpara">
    Finalizar las sentencias case con un punto y coma en lugar de dos puntos,
    se considera obsoleto.
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.the-backtick-operator">
   <h4 class="title">El operador de ejecución</h4>
   

   <p class="simpara">
    <a href="language.operators.execution.php" class="link">El operador de ejecución</a>
    como un alias para <span class="function"><a href="function.shell-exec.php" class="function">shell_exec()</a></span> ha quedado obsoleto.
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.return-null-from-debuginfo">
   <h4 class="title">Devolviendo null desde __debugInfo()</h4>
   

   <p class="simpara">
    Devolver <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> desde
    <a href="language.oop5.magic.php#language.oop5.magic.debuginfo" class="link">__debugInfo()</a>
    ha quedado obsoleto. En su lugar, devuelva un array vacío.
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.return-memleaks-ini-directive">
   <h4 class="title">Directiva INI report_memleaks</h4>
   

   <p class="simpara">
    La directiva INI <a href="errorfunc.configuration.php#ini.report-memleaks" class="link">report_memleaks</a>
    ha quedado obsoleta.
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.constant-redeclaration">
   <h4 class="title">Redeclaración de constantes</h4>
   

   <p class="simpara">
    La redeclaración de constantes está obsoleta.
    Tenga en cuenta que esto ya generó una advertencia y seguirá haciéndolo.
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.closure-binding-issues">
   <h4 class="title">Problemas de enlace de cierres</h4>
   

   <p class="para">
    Los siguientes problemas de enlace de cierre, que ya emiten un
    <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong>, ahora están obsoletos:

    <ul class="simplelist">
     <li>Enlazar una instancia a un cierre estático.</li>
     <li>Enlazar métodos a objetos que no son instancias de la clase
      (o subclase) en la que se define el método.</li>
     <li>Desenlazar $this de un método.</li>
     <li>Desenlazar $this de un cierre que utiliza $this.</li>
     <li>Enlazar un cierre al ámbito de una clase interna.</li>
     <li>Reenlazar el ámbito de un cierre creado a partir de una función o método.</li>
    </ul>
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.sleep-and-wakeup-magic-methods">
   <h4 class="title">Métodos mágicos __sleep() y __wakeup()</h4>
   
   

   <p class="simpara">
    Los métodos mágicos<a href="language.oop5.magic.php#object.sleep" class="link">__sleep()</a> y
    <a href="language.oop5.magic.php#object.wakeup" class="link">__wakeup()</a>
    son ligeramente-obsoletos.
    En su lugar, o al mismo tiempo si se requiere compatibilidad con PHP 7,
    se deben usar los métodos mágicos
    <a href="language.oop5.magic.php#object.serialize" class="link">__serialize()</a> y
    <a href="language.oop5.magic.php#object.unserialize" class="link">__unserialize()</a>.
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.using-null-as-an-array-offset">
   <h4 class="title">Usando null como índice de un array</h4>
   

   <p class="simpara">
    El uso de <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> como índice de un array o al llamar a <span class="function"><a href="function.array-key-exists.php" class="function">array_key_exists()</a></span>
    está obsoleto. En su lugar, debe utilizarse un string vacío.
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.incrementing-non-numeric-strings">
   <h4 class="title">Incrementando strings no numéricos</h4>
   

   <p class="simpara">
    El incremento de strings no numéricos está obsoleto.
    En su lugar, debe utilizarse la función <span class="function"><a href="function.str-increment.php" class="function">str_increment()</a></span>.
   </p>

  </div>

  <div class="sect3" id="migration85.deprecated.core.register-argc-argv-directive">
   <h4 class="title">Directiva INI register_argc_argv</h4>
   

   <p class="simpara">
    Usar <code class="code">$_SERVER[&#039;argc&#039;]</code> y <code class="code">$_SERVER[&#039;argv&#039;]</code>
    a partir del string de consulta para las SAPI que no son de línea de comandos ha quedado obsoleto.
    Configure <code class="literal">register_argc_argv=0</code> y utilice
    <var class="varname"><a href="reserved.variables.get.php" class="classname">$_GET</a></var> o <code class="code">$_SERVER[&#039;QUERY_STRING&#039;]</code>
    para acceder a la información, tras verificar que su uso es seguro.
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.deprecated.curl">
  <h3 class="title">cURL</h3>

  <p class="simpara">
   La función <span class="function"><a href="function.curl-close.php" class="function">curl_close()</a></span> ha quedado obsoleta,
   ya que los objetos <span class="classname"><a href="class.curlhandle.php" class="classname">CurlHandle</a></span> se liberan automáticamente.
   
  </p>

  <p class="simpara">
   La función <span class="function"><a href="function.curl-share-close.php" class="function">curl_share_close()</a></span> ha quedado obsoleta,
   ya que los objetos <span class="classname"><a href="class.curlsharehandle.php" class="classname">CurlShareHandle</a></span> se liberan automáticamente.
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.date">
  <h3 class="title">Fecha</h3>

  <p class="simpara">
   Las constantes <strong><code><a href="datetime.constants.php#constant.date-rfc7231">DATE_RFC7231</a></code></strong> y
   <strong><code><a href="class.datetimeinterface.php#datetimeinterface.constants.rfc7231">DateTimeInterface::RFC7231</a></code></strong> han quedado obsoletas.
   Esto se debe a que ignoran la zona horaria asociada y siempre utilizan GMT.
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.fileinfo">
  <h3 class="title">FileInfo</h3>

  <p class="simpara">
   La función <span class="function"><a href="function.finfo-close.php" class="function">finfo_close()</a></span> ha quedado obsoleta.
   Los objetos <span class="classname"><a href="class.finfo.php" class="classname">finfo</a></span> se liberan automáticamente.
   
  </p>

  <p class="simpara">
   El parámetro <code class="parameter">$context</code> de la
   función <span class="function"><a href="function.finfo-buffer.php" class="function">finfo_buffer()</a></span> ha quedado obsoleto
   ya que se ignora.
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.gd">
  <h3 class="title">GD</h3>

  <p class="simpara">
   La función <span class="function"><a href="function.imagedestroy.php" class="function">imagedestroy()</a></span> ha quedado obsoleta,
   ya que los objetos <span class="classname"><a href="class.gdimage.php" class="classname">GdImage</a></span> se liberan automáticamente.
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.hash">
  <h3 class="title">Hash</h3>

  <p class="simpara">
   Las constantes <strong><code><a href="mhash.constants.php#constant.mhash-adler32">MHASH_<span class="replaceable">*</span></a></code></strong> han
   quedado obsoletas.
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.intl">
  <h3 class="title">Intl</h3>

  <p class="simpara">
   La configuración INI <a href="intl.configuration.php#ini.intl.error-level" class="link">intl.error_level</a>
   ha quedado obsoleta.
   Se recomienda comprobar los errores manualmente o habilitar las excepciones
   mediante la configuración INI
   <a href="intl.configuration.php#ini.intl.use-exceptions" class="link">intl.use_exceptions</a>.
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.ldap">
  <h3 class="title">LDAP</h3>

  <p class="para">
   Se han marcado como obsoletas ciertas llamadas y constantes de Oracle Instant Client.

   Lista de llamadas afectadas:
   <ul class="simplelist">
    <li><span class="function"><a href="function.ldap-connect.php" class="function">ldap_connect()</a></span> con soporte para billetera</li>
    <li><span class="function"><a href="function.ldap-connect-wallet.php" class="function">ldap_connect_wallet()</a></span></li>
   </ul>

   Lista de constantes afectadas:
   <ul class="simplelist">
    <li><strong><code>GSLC_SSL_NO_UATH</code></strong></li>
    <li><strong><code>GSLC_SSL_ONEWAY_UATH</code></strong></li>
    <li><strong><code>GSLC_SSL_TWOWAY_UATH</code></strong></li>
   </ul>
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.mysqli">
  <h3 class="title">MySQLi</h3>

  <p class="simpara">
   La función alias <span class="function"><a href="function.mysqli-execute.php" class="function">mysqli_execute()</a></span> ha quedado obsoleta.
   Utilice <span class="function"><a href="mysqli-stmt.execute.php" class="function">mysqli_stmt_execute()</a></span> en su lugar.
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.openssl">
  <h3 class="title">OpenSSL</h3>

  <p class="simpara">
   El parámetro <code class="parameter">$key_length</code> de
   <span class="function"><a href="function.openssl-pkey-derive.php" class="function">openssl_pkey_derive()</a></span> ha quedado obsoleto.
   Esto se debe a que se ignora o trunca la clave, lo que puede suponer
   una vulnerabilidad de seguridad.
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.pdo">
  <h3 class="title">PDO</h3>

  <p class="simpara">
   El esquema DSN <code class="literal">&quot;uri:&quot;</code> ha quedado obsoleto debido a problemas de seguridad relacionados con
   los DSN procedentes de URI remotos.
   
  </p>

  <p class="para">
   Las constantes específicas del controlador en la clase PDO han quedado obsoletas.
   Lista de constantes afectadas y sus reemplazos:

   <ul class="simplelist">
    <li><strong><code>PDO::DBLIB_ATTR_CONNECTION_TIMEOUT</code></strong> => <strong><code><a href="class.pdo-dblib.php#pdo-dblib.constants.attr-connection-timeout">Pdo\Dblib::ATTR_CONNECTION_TIMEOUT</a></code></strong></li>
    <li><strong><code>PDO::DBLIB_ATTR_QUERY_TIMEOUT</code></strong> => <strong><code><a href="class.pdo-dblib.php#pdo-dblib.constants.attr-query-timeout">Pdo\Dblib::ATTR_QUERY_TIMEOUT</a></code></strong></li>
    <li><strong><code>PDO::DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER</code></strong> => <strong><code><a href="class.pdo-dblib.php#pdo-dblib.constants.attr-stringify-uniqueidentifier">Pdo\Dblib::ATTR_STRINGIFY_UNIQUEIDENTIFIER</a></code></strong></li>
    <li><strong><code>PDO::DBLIB_ATTR_VERSION</code></strong> => <strong><code><a href="class.pdo-dblib.php#pdo-dblib.constants.attr-version">Pdo\Dblib::ATTR_VERSION</a></code></strong></li>
    <li><strong><code>PDO::DBLIB_ATTR_TDS_VERSION</code></strong> => <strong><code><a href="class.pdo-dblib.php#pdo-dblib.constants.attr-tds-version">Pdo\Dblib::ATTR_TDS_VERSION</a></code></strong></li>
    <li><strong><code>PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS</code></strong> => <strong><code><a href="class.pdo-dblib.php#pdo-dblib.constants.attr-skip-empty-rowsets">Pdo\Dblib::ATTR_SKIP_EMPTY_ROWSETS</a></code></strong></li>
    <li><strong><code>PDO::DBLIB_ATTR_DATETIME_CONVERT</code></strong> => <strong><code><a href="class.pdo-dblib.php#pdo-dblib.constants.attr-datetime-convert">Pdo\Dblib::ATTR_DATETIME_CONVERT</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-firebird.php#pdo.constants.fb-attr-date-format">PDO::FB_ATTR_DATE_FORMAT</a></code></strong> => <strong><code><a href="class.pdo-firebird.php#pdo-firebird.constants.attr-date-format">Pdo\Firebird::ATTR_DATE_FORMAT</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-firebird.php#pdo.constants.fb-attr-time-format">PDO::FB_ATTR_TIME_FORMAT</a></code></strong> => <strong><code><a href="class.pdo-firebird.php#pdo-firebird.constants.attr-time-format">Pdo\Firebird::ATTR_TIME_FORMAT</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-firebird.php#pdo.constants.fb-attr-timestamp-format">PDO::FB_ATTR_TIMESTAMP_FORMAT</a></code></strong> => <strong><code><a href="class.pdo-firebird.php#pdo-firebird.constants.attr-timestamp-format">Pdo\Firebird::ATTR_TIMESTAMP_FORMAT</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-use-buffered-query">PDO::MYSQL_ATTR_USE_BUFFERED_QUERY</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-use-buffered-query">Pdo\Mysql::ATTR_USE_BUFFERED_QUERY</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-local-infile">PDO::MYSQL_ATTR_LOCAL_INFILE</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-local-infile">Pdo\Mysql::ATTR_LOCAL_INFILE</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-local-infile-directory">PDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-local-infile-directory">Pdo\Mysql::ATTR_LOCAL_INFILE_DIRECTORY</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-init-command">PDO::MYSQL_ATTR_INIT_COMMAND</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-init-command">Pdo\Mysql::ATTR_INIT_COMMAND</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-max-buffer-size">PDO::MYSQL_ATTR_MAX_BUFFER_SIZE</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-max-buffer-size">Pdo\Mysql::ATTR_MAX_BUFFER_SIZE</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-read-default-file">PDO::MYSQL_ATTR_READ_DEFAULT_FILE</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-read-default-file">Pdo\Mysql::ATTR_READ_DEFAULT_FILE</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-read-default-group">PDO::MYSQL_ATTR_READ_DEFAULT_GROUP</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-read-default-group">Pdo\Mysql::ATTR_READ_DEFAULT_GROUP</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-compress">PDO::MYSQL_ATTR_COMPRESS</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-compress">Pdo\Mysql::ATTR_COMPRESS</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-direct-query">PDO::MYSQL_ATTR_DIRECT_QUERY</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-direct-query">Pdo\Mysql::ATTR_DIRECT_QUERY</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-found-rows">PDO::MYSQL_ATTR_FOUND_ROWS</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-found-rows">Pdo\Mysql::ATTR_FOUND_ROWS</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-ignore-space">PDO::MYSQL_ATTR_IGNORE_SPACE</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-ignore-space">Pdo\Mysql::ATTR_IGNORE_SPACE</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-ssl-key">PDO::MYSQL_ATTR_SSL_KEY</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-ssl-key">Pdo\Mysql::ATTR_SSL_KEY</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-ssl-cert">PDO::MYSQL_ATTR_SSL_CERT</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-ssl-cert">Pdo\Mysql::ATTR_SSL_CERT</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-ssl-ca">PDO::MYSQL_ATTR_SSL_CA</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-ssl-ca">Pdo\Mysql::ATTR_SSL_CA</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-ssl-capath">PDO::MYSQL_ATTR_SSL_CAPATH</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-ssl-capath">Pdo\Mysql::ATTR_SSL_CAPATH</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-ssl-cipher">PDO::MYSQL_ATTR_SSL_CIPHER</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-ssl-cipher">Pdo\Mysql::ATTR_SSL_CIPHER</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-ssl-verify-server-cert">PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-ssl-verify-server-cert">Pdo\Mysql::ATTR_SSL_VERIFY_SERVER_CERT</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-server-public-key">PDO::MYSQL_ATTR_SERVER_PUBLIC_KEY</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-server-public-key">Pdo\Mysql::ATTR_SERVER_PUBLIC_KEY</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-mysql.php#pdo.constants.mysql-attr-multi-statements">PDO::MYSQL_ATTR_MULTI_STATEMENTS</a></code></strong> => <strong><code><a href="class.pdo-mysql.php#pdo-mysql.constants.attr-multi-statements">Pdo\Mysql::ATTR_MULTI_STATEMENTS</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-attr-use-cursor-library">PDO::ODBC_ATTR_USE_CURSOR_LIBRARY</a></code></strong> => <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.attr-use-cursor-library">Pdo\Odbc::ATTR_USE_CURSOR_LIBRARY</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-attr-assume-utf8">PDO::ODBC_ATTR_ASSUME_UTF8</a></code></strong> => <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.attr-assume-utf8">Pdo\Odbc::ATTR_ASSUME_UTF8</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-sql-use-if-needed">PDO::ODBC_SQL_USE_IF_NEEDED</a></code></strong> => <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.sql-use-if-needed">Pdo\Odbc::SQL_USE_IF_NEEDED</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-sql-use-driver">PDO::ODBC_SQL_USE_DRIVER</a></code></strong> => <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.sql-use-driver">Pdo\Odbc::SQL_USE_DRIVER</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-sql-use-odbc">PDO::ODBC_SQL_USE_ODBC</a></code></strong> => <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.sql-use-odbc">Pdo\Odbc::SQL_USE_ODBC</a></code></strong></li>
    <li><strong><code><a href="ref.pdo-pgsql.php#pdo.constants.pgsql-attr-disable-prepares">PDO::PGSQL_ATTR_DISABLE_PREPARES</a></code></strong> => <strong><code><a href="class.pdo-pgsql.php#pdo-pgsql.constants.attr-disable-prepares">Pdo\Pgsql::ATTR_DISABLE_PREPARES</a></code></strong></li>
    <li><strong><code>PDO::SQLITE_ATTR_EXTENDED_RESULT_CODES</code></strong> => <strong><code><a href="class.pdo-sqlite.php#pdo-sqlite.constants.attr-extended-result-codes">Pdo\Sqlite::ATTR_EXTENDED_RESULT_CODES</a></code></strong></li>
    <li><strong><code>PDO::SQLITE_ATTR_OPEN_FLAGS</code></strong> => <strong><code>Pdo\Sqlite::OPEN_FLAGS</code></strong></li>
    <li><strong><code>PDO::SQLITE_ATTR_READONLY_STATEMENT</code></strong> => <strong><code><a href="class.pdo-sqlite.php#pdo-sqlite.constants.attr-readonly-statement">Pdo\Sqlite::ATTR_READONLY_STATEMENT</a></code></strong></li>
    <li><strong><code><a href="pdo.constants.php#pdo.constants.sqlite-deterministic">PDO::SQLITE_DETERMINISTIC</a></code></strong> => <strong><code><a href="class.pdo-sqlite.php#pdo-sqlite.constants.deterministic">Pdo\Sqlite::DETERMINISTIC</a></code></strong></li>
    <li><strong><code>PDO::SQLITE_OPEN_READONLY</code></strong> => <strong><code><a href="class.pdo-sqlite.php#pdo-sqlite.constants.open-readonly">Pdo\Sqlite::OPEN_READONLY</a></code></strong></li>
    <li><strong><code>PDO::SQLITE_OPEN_READWRITE</code></strong> => <strong><code><a href="class.pdo-sqlite.php#pdo-sqlite.constants.open-readwrite">Pdo\Sqlite::OPEN_READWRITE</a></code></strong></li>
    <li><strong><code>PDO::SQLITE_OPEN_CREATE</code></strong> => <strong><code><a href="class.pdo-sqlite.php#pdo-sqlite.constants.open-create">Pdo\Sqlite::OPEN_CREATE</a></code></strong></li>
   </ul>
   
  </p>

  <p class="para">
   Los métodos específicos del controlador en la clase PDO han quedado obsoletos.
   Lista de métodos afectados y sus reemplazos:

   <ul class="simplelist">
    <li><span class="methodname"><a href="pdo.pgsqlcopyfromarray.php" class="methodname">PDO::pgsqlCopyFromArray()</a></span> => <span class="methodname"><a href="pdo-pgsql.copyfromarray.php" class="methodname">Pdo\Pgsql::copyFromArray()</a></span></li>
    <li><span class="methodname"><a href="pdo.pgsqlcopyfromfile.php" class="methodname">PDO::pgsqlCopyFromFile()</a></span> => <span class="methodname"><a href="pdo-pgsql.copyfromfile.php" class="methodname">Pdo\Pgsql::copyFromFile()</a></span></li>
    <li><span class="methodname"><a href="pdo.pgsqlcopytoarray.php" class="methodname">PDO::pgsqlCopyToArray()</a></span> => <span class="methodname"><a href="pdo-pgsql.copytoarray.php" class="methodname">Pdo\Pgsql::copyToArray()</a></span></li>
    <li><span class="methodname"><a href="pdo.pgsqlcopytofile.php" class="methodname">PDO::pgsqlCopyToFile()</a></span> => <span class="methodname"><a href="pdo-pgsql.copytofile.php" class="methodname">Pdo\Pgsql::copyToFile()</a></span></li>
    <li><span class="methodname"><a href="pdo.pgsqlgetnotify.php" class="methodname">PDO::pgsqlGetNotify()</a></span> => <span class="methodname"><a href="pdo-pgsql.getnotify.php" class="methodname">Pdo\Pgsql::getNotify()</a></span></li>
    <li><span class="methodname"><a href="pdo.pgsqlgetpid.php" class="methodname">PDO::pgsqlGetPid()</a></span> => <span class="methodname"><a href="pdo-pgsql.getpid.php" class="methodname">Pdo\Pgsql::getPid()</a></span></li>
    <li><span class="methodname"><a href="pdo.pgsqllobcreate.php" class="methodname">PDO::pgsqlLOBCreate()</a></span> => <span class="methodname"><a href="pdo-pgsql.lobcreate.php" class="methodname">Pdo\Pgsql::lobCreate()</a></span></li>
    <li><span class="methodname"><a href="pdo.pgsqllobopen.php" class="methodname">PDO::pgsqlLOBOpen()</a></span> => <span class="methodname"><a href="pdo-pgsql.lobopen.php" class="methodname">Pdo\Pgsql::lobOpen()</a></span></li>
    <li><span class="methodname"><a href="pdo.pgsqllobunlink.php" class="methodname">PDO::pgsqlLOBUnlink()</a></span> => <span class="methodname"><a href="pdo-pgsql.lobunlink.php" class="methodname">Pdo\Pgsql::lobUnlink()</a></span></li>
    <li><span class="methodname"><a href="pdo.sqlitecreateaggregate.php" class="methodname">PDO::sqliteCreateAggregate()</a></span> => <span class="methodname"><a href="pdo-sqlite.createaggregate.php" class="methodname">Pdo\Sqlite::createAggregate()</a></span></li>
    <li><span class="methodname"><a href="pdo.sqlitecreatecollation.php" class="methodname">PDO::sqliteCreateCollation()</a></span> => <span class="methodname"><a href="pdo-sqlite.createcollation.php" class="methodname">Pdo\Sqlite::createCollation()</a></span></li>
    <li><span class="methodname"><a href="pdo.sqlitecreatefunction.php" class="methodname">PDO::sqliteCreateFunction()</a></span> => <span class="methodname"><a href="pdo-sqlite.createfunction.php" class="methodname">Pdo\Sqlite::createFunction()</a></span></li>
   </ul>
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.pdo-pgsql">
  <h3 class="title">PDO_PGSQL</h3>

  <p class="para">
   Las constantes relacionadas con los estados de las transacciones han quedado obsoletas ya que esta función no está disponible con PDO:

   <ul class="simplelist">
    <li><strong><code>PDO::PGSQL_TRANSACTION_IDLE</code></strong></li>
    <li><strong><code>PDO::PGSQL_TRANSACTION_ACTIVE</code></strong></li>
    <li><strong><code>PDO::PGSQL_TRANSACTION_INTRANS</code></strong></li>
    <li><strong><code>PDO::PGSQL_TRANSACTION_INERROR</code></strong></li>
    <li><strong><code>PDO::PGSQL_TRANSACTION_UNKNOWN</code></strong></li>
   </ul>
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.reflection">
  <h3 class="title">Reflection</h3>

  <p class="simpara">
    Los métodos <code class="code">setAccessible()</code> de varios objetos Reflection han quedado
    obsoletos, ya que ya no tienen efecto.
    
  </p>

  <p class="simpara">
   Llamar a <span class="methodname"><a href="reflectionclass.getconstant.php" class="methodname">ReflectionClass::getConstant()</a></span> para constantes
   que no existen ha quedado obsoleto.
   
  </p>

  <p class="simpara">
   Llamar a <span class="methodname"><a href="reflectionproperty.getdefaultvalue.php" class="methodname">ReflectionProperty::getDefaultValue()</a></span> para
   propiedades sin valores predeterminados ha quedado obsoleto.
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.spl">
  <h3 class="title">SPL</h3>

  <p class="simpara">
   Anular el registro de todos los autocargadores pasando la
   función <span class="function"><a href="function.spl-autoload-call.php" class="function">spl_autoload_call()</a></span> como argumento de devolución de llamada a
   <span class="function"><a href="function.spl-autoload-unregister.php" class="function">spl_autoload_unregister()</a></span> ha quedado obsoleto.
   En su lugar, si es necesario, se debe iterar sobre el valor devuelto por
   <span class="function"><a href="function.spl-autoload-functions.php" class="function">spl_autoload_functions()</a></span> y llamar a
   <span class="function"><a href="function.spl-autoload-unregister.php" class="function">spl_autoload_unregister()</a></span> en cada valor.
   
  </p>

  <p class="simpara">
   Los métodos <span class="methodname"><a href="splobjectstorage.contains.php" class="methodname">SplObjectStorage::contains()</a></span>,
   <span class="methodname"><a href="splobjectstorage.attach.php" class="methodname">SplObjectStorage::attach()</a></span> y
   <span class="methodname"><a href="splobjectstorage.detach.php" class="methodname">SplObjectStorage::detach()</a></span> han quedado obsoletos
   y se han sustituido por <span class="methodname"><a href="splobjectstorage.offsetexists.php" class="methodname">SplObjectStorage::offsetExists()</a></span>,
   <span class="methodname"><a href="splobjectstorage.offsetset.php" class="methodname">SplObjectStorage::offsetSet()</a></span> y
   <span class="methodname"><a href="splobjectstorage.offsetunset.php" class="methodname">SplObjectStorage::offsetUnset()</a></span>, respectivamente.
   
  </p>

  <p class="simpara">
   El uso de <span class="classname"><a href="class.arrayobject.php" class="classname">ArrayObject</a></span> y
   <span class="classname"><a href="class.arrayiterator.php" class="classname">ArrayIterator</a></span> con objetos ha quedado obsoleto.
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.standard">
  <h3 class="title">Estándar</h3>

  <p class="simpara">
   La función alias <span class="function"><a href="function.socket-set-timeout.php" class="function">socket_set_timeout()</a></span> ha quedado obsoleta.
   Utilice <span class="function"><a href="function.stream-set-timeout.php" class="function">stream_set_timeout()</a></span> en su lugar.
   
  </p>

  <p class="simpara">
   Pasar <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> a <span class="function"><a href="function.readdir.php" class="function">readdir()</a></span>,
   <span class="function"><a href="function.rewinddir.php" class="function">rewinddir()</a></span> y <span class="function"><a href="function.closedir.php" class="function">closedir()</a></span>
   para usar el último directorio abierto ha quedado obsoleto.
   En su lugar, proporcione explícitamente el último directorio abierto.
   
  </p>

  <p class="simpara">
   Pasar enteros fuera del intervalo <code class="literal">[0, 255]</code> a <span class="function"><a href="function.chr.php" class="function">chr()</a></span>
   está obsoleto.
   Esto se debe a que un byte solo puede contener un valor dentro de este intervalo.
   
  </p>

  <p class="simpara">
   Pasar un string que no sea un solo byte a <span class="function"><a href="function.ord.php" class="function">ord()</a></span>
   ahora está obsoleto, esto es indicativo de un error.
   
  </p>

  <p class="simpara">
   La variable predefinida localmente
   <a href="reserved.variables.httpresponseheader.php" class="link">$http_response_header</a>
   está obsoleta. En su lugar, se debe llamar a
   la función <span class="function"><a href="function.http-get-last-response-headers.php" class="function">http_get_last_response_headers()</a></span>.
   
  </p>

 </div>

 <div class="sect2" id="migration85.deprecated.xml">
  <h3 class="title">XML</h3>

  <p class="simpara">
   La función <span class="function"><a href="function.xml-parser-free.php" class="function">xml_parser_free()</a></span> ha quedado obsoleta,
   ya que los objetos <span class="classname"><a href="class.xmlparser.php" class="classname">XMLParser</a></span> se liberan automáticamente.
   
  </p>

 </div>

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