PHP 5.3 default function is deprecated

php53 Una de las novedades de PHP 5.3 es la reestructuración y el deprecado de antiguas funciones pero que alguna de ellas aún utilizamos, si bien es sencillo actualizar de funciones deprecadas a funciones optimizadas en PHP 5.3 aquí os dejo algunas que me han dado problemas.

DEFAULT Function split() is deprecated

La función split divide una cadena en una matriz mediante una expresión regular y la podemos sustituir en PHP 5.3 por preg_split si necesitamos trabajar con expresiones regulares y si no por la función explode.

Por ejemplo para sacar cada elemento de una fecha SQL utilizando split haríamos lo siguiente:

list($anno, $mes, $dia, $hora, $minuto) = split('[- :]', $fecha);

Para hacerlo con preg_split deberíamos hacer lo siguiente:

list($anno, $mes, $dia, $hora, $minuto) = preg_split('/[- :]/', $fecha);

DEFAULT Function ereg_replace() is deprecated

La función ereg_replace sustituye una expresión regular por una cadena dada en una cadena. En PHP 5.3 podemos utilizar preg_replace y en caso de no necesitar expresiones regulares str_replace.

DEFAULT Function set_magic_quotes_runtime() is deprecated

La función set_magic_quotes_runtime no es tan utilizada pero para los amantes de PHP Mailer decirles que esta librería la utiliza, la correcta sustitución de esta función es aplicar la directiva ini_set de la siguiente manera:

ini_set('magic_quotes_runtime', 0);

¿Para qué es esta directiva? Si magic_quotes_runtime está habilitado, la mayoría de funciones que devuelven datos de alguna fuente externa, incluyendo bases de datos y archivos de texto, tendrán las comillas escapadas con barras invertidas.

En vez de 0 poner el valor que queremos darle.

¿Alguna más?

Comentarios