Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

is_callable

Variablen-Funktionen

    Befehl:
bool is_callable ( mixed $var [, bool $syntax_only = false [, string &$callable_name ]] )


    Parameter-Liste:
NameBeschreibung
varKann entweder der Name einer Funktion als String oder ein Objekt und der Name einer seiner Methoden als Array in der Form array($SomeObject, 'MethodName') sein.
syntax_onlyWenn dieser Parameter auf TRUE gesetzt wird so prüft die Funktion nur ob var möglicherweise eine Funktion oder Methode enthält. Einfache Variablen werden nur zurückgewiesen wenn sie keinen String enthalten. Arrays werden auf die richtige Struktur geprüft, d.g. das das Array zwei Elemente hat von denen der erste ein Objekt oder String und der zweite ein String ist.
callable_nameHier wird der "aufrufbare Name" abgelegt. Für das obige Beispiel ist dies "someClass::someMethod". Beachten Sie dass dies keine statische Methode ist auch wenn die Syntax das nahelegt.

    Beschreibung:
Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann. Es wird geprüft ob eine einfache Variable den Namen einer gültigen Funktion enthält, oder ob in einem Array ein gültig codierter Objekt- und Funktionsname enthalten ist.


    Aktiv in Version:
(PHP 4 >= 4.0.6, PHP 5, PHP 7)

    Siehe auch:
Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
 
Prüft on eine Methode innerhalb eines Objekts existiert
 

is_callable() - Beispiel:


Eingabe:
<?php
// Wie man prüft ob eine Variable als Funktion aufgerufen werden kann

//
//  Einfache Variable die eine Funktion enthält
//

function someFunction()
{
}

$functionVariable = 'someFunction';

var_dump(is_callable($functionVariable, false, $callable_name));  // bool(true)

echo $callable_name, "\n";  // someFunction

//
//  Array das eine Methode enthält
//

class someClass {

  function someMethod()
  {
  }

}

$anObject = new someClass();

$methodVariable = array($anObject, 'someMethod');

var_dump(is_callable($methodVariable, true, $callable_name));  //  bool(true)

echo $callable_name, "\n";  //  someClass::someMethod

?>

Variablen-Funktionen