Variable handling Funzioni
PHP Manual

is_callable

(PHP 4 >= 4.0.6, PHP 5)

is_callable Verifica se il contenuto dell'argomento può essere eseguito come funzione

Descrizione

bool is_callable ( mixed $var [, bool $syntax_only [, string &$callable_name ]] )

Verifica che il contenuto di una funzione possa essere richiamato come una funzione. Questa verifica può essere eseguita su una semplice variabile contenente il nome di una funzione valida, oppure su un array contenente il nome di un oggetto ed il nome di una funzione

Il parametro var può essere sia il nome di una funzione sia un oggetto ed il nome del metodo nell'oggetto, tipo

array( $SomeObject, 'MethodName' )

Se il parametro syntax_only è impostato a TRUE la funzione eseguirà un controllo sulla validità del parametro var. La funzione scarterà variabili non stringhe o che non hanno la struttura per essere callback validi. L'unica struttura valida presuppone di avere solo 2 righe: una stringa con il nome dell'oggetto, una seconda riga con il nome del metodo.

Il terzo parametro callable_name contiene il "callable name". Nell'esempio che segue contiene "someClass:someMethod". Si noti che, nonostante someClass::SomeMethod() implichi il richiamo ad un metodo statico, questo non è il caso.

<?php
//  Come verificare se una variabile può essere eseguita
//  come funzione..

//
//  Semplice variabile contenente una funzione
//

function unaFunzione() 
{
}

$functionVariable 'unaFunzione';

var_dump(is_callable$functionVariablefalse$callable_name ));  // bool(true)

echo $callable_name"\n";  // unaFunzione

//
//  Array contenente un metodo
//

class unaClasse {

  function 
unMetodo() 
  {
  }

}

$anObject = new unaClasse();
$methodVariable = array($anObject'unMetodo' );
var_dump(is_callable($methodVariabletrue$callable_name ));  //  bool(true)
echo $callable_name"\n";  //  unaClasse:unMetodo
?>

Variable handling Funzioni
PHP Manual