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( $functionVariable, false, $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($methodVariable, true, $callable_name ));  //  bool(true)
echo $callable_name, "\n";  //  unaClasse:unMetodo
?>

Hosting by: hurra.com
Generated: 2007-01-26 17:56:26