mixed indica que un parámetro puede
aceptar múltiples tipos (pero no necesariamente todos).
gettype() por ejemplo aceptará todos
los tipos PHP, mientras que str_replace()
aceptará cadenas y matrices.
Algunas funciones como call_user_func() o
usort() aceptan llamadas de retorno definidas
por el usuario como un parámetro. Las funciones tipo
llamada de retorno no sólo pueden ser funciones simples,
también pueden ser métodos de objetos incluyendo
métodos estáticos de clase.
Una función de PHP es simplemente pasada usando su nombre
como una cadena. Puede pasar cualquier función incorporada
o definida por el usuario con la excepción de
array(), echo(),
empty(), eval(),
exit(), isset(),
list(), print() y
unset().
Un método de un objeto instanciado es pasado como una
matriz que contiene un objeto como el elemento con el
índice 0 y un nombre de método como el elemento con
índice 1.
Los métodos estáticos de clase pueden ser pasados
también sin instanciar un objeto de esa clase al pasar el
nombre de clase en lugar de un objeto como el elemento con
índice 0.
Ejemplo 6-11.
Ejemplos de funciones tipo llamada de retorno
<?php
// ejemplo simple de una llamada de retorno function mi_llamada_de_retorno() { echo '¡Hola mundo!'; } call_user_func('mi_llamada_de_retorno');
// ejemplos de un método como llamada de retorno class MiClase { function miMetodoDeRetorno() { echo '¡Hola Mundo!'; } }
// llamada de metodo estatico de clase sin instanciar un objeto call_user_func(array('MiClase', 'miMetodoDeRetorno'));
// llamada a un metodo de objeto $obj = new MiClase(); call_user_func(array(&$obj, 'miMetodoDeRetorno')); ?>
|
|