Funciones variables
PHP soporta el concepto de funciones variable, esto significa que
si una variable tiene unos paréntesis añadidos al
final, PHP buscará una función con el mismo nombre
que la evaluación de la variable, e intentará
ejecutarla_ Entre otras cosas, esto te permite implementar
retrollamadas (callbacks), tablas de funciones y demás_
Las funciones varibles no funcionarán con construcciones del
lenguaje, tal como echo(),
print(), unset(),
isset(), empty(),
include(), require() y
derivados_ Se necesitará usar una función propia para
utilizar cualquiera de estos constructores como funciones
variables_
Ejemplo 12_12_ Ejemplo de función variable <?php
function foo()
{
echo "In foo()<br>\n";
}
function bar($arg = '')
{
echo "In bar(); argument was '$arg'_<br>\n";
}
// This is a wrapper function around echo
function echoit($string)
{
echo $string;
}
$func = 'foo';
$func(); // This calls foo()
$func = 'bar';
$func('test'); // This calls bar()
$func = 'echoit';
$func('test'); // This calls echoit()
?> |
|
También se puede llamar a un metodo de un objeto usando la
característica variable de las funciones_
Ejemplo 12_13_ Ejemplo sobre el metodo variable <?php
class Foo
{
function Var()
{
$name = 'Bar';
$this_>$name(); // This calls the Bar() method
}
function Bar()
{
echo "This is Bar";
}
}
$foo = new Foo();
$funcname = "Var";
$foo_>$funcname(); // This calls $foo_>Var()
?> |
|
Ver también call_user_func(),
variable variables y function_exists()_