Características obsoletas en PHP 7.2.x
Cadenas sin entrecomillar
Las cadenas sin entrecomillar que sean constantes globales inexistentes se convierten en
cadenas de ellas mismas. Este comportamiento solía emitir una
E_NOTICE
, pero a partir de ahora emitirá una
E_WARNING
. En la siguiente versión mayor de PHP, se
lanzará una excepción Error en su lugar.
Las funciones png2wbmp() y jpeg2wbmp()
de la extensión GD se han marcado como obsoletas y serán borradas
en la siguiente versión mayor de PHP.
Variante INTL_IDNA_VARIANT_2003
La extensión Intl ha marcado como obsoleta la
variante INTL_IDNA_VARIANT_2003
, que es actualmente
usada como el valor por defecto de idn_to_ascii() y
idn_to_utf8(). PHP 7.4 cambiará estos valores por defecto a
INTL_IDNA_VARIANT_UTS46
, y en la siguiente versión mayor de
PHP borrará la variante INTL_IDNA_VARIANT_2003
.
The __autoload() method has been deprecated because it is
inferior to spl_autoload_register() (due to it not being
able to chain autoloaders), and there is no interoperability between the two
autoloading styles.
Directiva ini track_errors
y variable $php_errormsg
Cuando la directiva ini track_errors
está activada, una
variable $php_errormsg
es creada en el ámbito local cuando
ocurre un error no fatal. Dado que el método preferido de obtener ese tipo de
información de errores es usando error_get_last(), esta
característica ha sido marcada como obsoleta.
Debido a los problemas de seguridad de esta función (siendo una envoltura de
eval()), esta antigua función ha sido marcada como obsoleta.
La alternativa preferida es usar funciones anónimas.
Directiva ini mbstring.func_overload
Debido a los problemas de interoperabilidad de funciones basadas en cadenas usadas en
entornos con esta directiva activada, ha sido marcada como obsoleta.
Forzado a (unset)
Forzar cualquier expresión a este tipo siempre resulta en null
, por lo que
este tipo de forzado superfluo ha sido marcado como obsoleto.
Sin un segundo argumento para parse_str(), los parámetros
de una cadena de consulta son establecidos en el ámbito local.
Debido a los problemas de seguridad de ello, el uso de
parse_str() sin un segundo parámetro ha sido
marcado como obsoleto. Esta función siempre debe ser usada con dos argumentos, ya que
el segundo argumento provoca que la cadena de consulta sea interpretada a un array.
Esta función genera un número aleatorio dentro de rango que es
calculado por un método no expuesto y dependiente de la plataforma. Por ello,
esta función ha sido ahora marcado como obsoleto. El método preferido de generar un
número aleatorio usando la extensión GMP extension es usando
gmp_random_bits() y
gmp_random_range().
Esta función es mucho más lenta iterando que un
foreach
normal, y causa problemas de implementación con algunos
cambios del lenguaje. Ha sido por tanto marcada como obsoleta.
assert() con una cadena como argumento
Usar assert() con una cadena como argumento requería que la cadena
fuera eval()uada. Debido al potencial para ejecución remota
de código, el uso de assert() con una cadena como argumento ha sido
marcado como obsoleto en favor del uso de expresiones booleanas.
Argumento $errcontext
de manejadores de errores
El argumento $errcontext
contiene todas las variables locales del
ámbito donde ocurrió el error. Debido a su poco uso, y los problemas que causa con
optimizaciones internas, ha sido marcado como obsoleto.
En su lugar, se debe usar un depurador para obtener
información sobre las variables del ámbito local del lugar del error.