(PHP 4 >= 4.0.6, PHP 5)
is_callable — Verifica que los contenidos de una variable puedan ser llamados como una función
Verifica que los contenidos de una variable puedan ser llamados como una función. Esto permite revisar que los contenidos de una variable contengan el nombre de una función válida, o que una matriz contenga un objeto adecuadamente codificado y un nombre de función.
Puede ser o bien el nombre de una función almacenada en una variable tipo cadena, o un objeto y el nombre de un método dentro del objeto, de este modo:
array($AlgunObjeto, 'NombreDelMetodo')
Si es TRUE la función solo verifica que var pueda ser una función o un método. Solo rechazará variables simples que no sean cadenas, o una matriz que no tenga una estructura válida para ser usada como llamada de retorno. Se espera que las matrices válidas tengan solo 2 entradas, la primera de las cuales es un objeto o una cadena, y la segunda una cadena.
Recibe el "nombre que puede ser llamado". En el ejemplo siguiente aquél es "algunaClase:algunMetodo". Note, sin embargo, que a pesar de la implicación de que algunaClase::algunMetodo() es un método estático que puede ser llamado, este no es el caso.
Devuelve TRUE si var puede ser llamado, FALSE de lo contrario.
Example#1 Ejemplo de is_callable()
<?php
// Cómo chequear una variable para ver si puede ser llamada
// como una función.
//
// Variable simple que contiene una función
//
function algunaFuncion()
{
}
$variableFuncion = 'algunaFuncion';
var_dump(is_callable($variableFuncion, false, $nombre_a_llamar)); // bool(true)
echo $nombre_a_llamar, "\n"; // algunaFuncion
//
// Matriz que contiene un método
//
class algunaClase {
function algunMetodo()
{
}
}
$unObjeto = new algunaClase();
$variableMetodo = array($unObjeto, 'algunMetodo');
var_dump(is_callable($variableMetodo, true, $nombre_a_llamar)); // bool(true)
echo $nombre_a_llamar, "\n"; // algunaClase:algunMetodo
?>