Función de sobrecarga
&warn.deprecated.feature-7-2-0.removed-8-0-0;
Puede resultar difícil lograr que una aplicación PHP existente
funcione en un entorno multibyte determinado. Esto se debe a que la mayoría
de las aplicaciones PHP están escritas con funciones de string estándar
como substr, que es conocida por
no manejar correctamente los strings codificados en multibyte.
mbstring admite la sobrecarga de funciones, lo que permite añadir
compatibilidad con multibyte a este tipo de aplicaciones sin
modificar el código, mediante la sobrecarga de las funciones equivalentes para multibyte en
las funciones de string estándar. Por ejemplo,
si la sobrecarga de funciones está habilitada,
se llama a mb_substr
en lugar de a substr.
Esta característica facilita la migración de aplicaciones que solo admiten
codificaciones de un solo byte a un entorno multibyte en muchos casos.
Para utilizar la sobrecarga de funciones, establezca
mbstring.func_overload, en el &php.ini;, a
un valor positivo que represente una combinación de máscaras de bits especificando
las categorías de funciones a sobrecargar. Debe ser definido
a 1 para sobrecargar la función mail, 2 para las
funciones de strings, 4 para las funciones de expresiones regulares. Por ejemplo,
con el valor 7, todas las funciones anteriores serán
sobrecargadas. A continuación se muestra la lista de funciones sobrecargadas.
Funciones de reemplazo
Valor de mbstring.func_overload
Función original
Función de reemplazo
1
mail
mb_send_mail
2
strlen
mb_strlen
2
strpos
mb_strpos
2
strrpos
mb_strrpos
2
substr
mb_substr
2
strtolower
mb_strtolower
2
strtoupper
mb_strtoupper
2
stripos
mb_stripos
2
strripos
mb_strripos
2
strstr
mb_strstr
2
stristr
mb_stristr
2
strrchr
mb_strrchr
2
substr_count
mb_substr_count
No se recomienda utilizar la opción de sobrecarga de funciones en
el contexto por directorio, ya que aún no se ha confirmado que sea
lo suficientemente estable en un entorno de producción y puede provocar un
comportamiento indefinido.