Variablenfunktionen
PHP unterstützt das Konzept der Variablenfunktionen. Wenn Sie an
das Ende einer Variablen Klammern hängen, versucht PHP eine
Funktion aufzurufen, deren Name der aktuelle Wert der Variable
ist. Dies kann unter anderem für Callbacks, Funktionstabellen,
usw. genutzt werden.
Variablenfunktionen funktionieren nicht mit Sprachkonstrukten
wie echo(), print(),
unset(), isset(),
empty(), include() und
require(). Sie müssen Ihre eigenen Wrapperfunktionen
verwenden, um diese Konstrukte als variable Funktionen benutzen zu
können.
Beispiel 12-3. Beispiel für Variablenfunktionen
<?php function foo() { echo "In foo()<br>\n"; }
function bar($arg = '') { echo "In bar(); der Parameter ist '$arg'.<br>\n"; }
// Dies ist eine Wrapperfunkiton für echo function echoit($string) { echo $string; }
$func = 'foo'; $func(); // Dies ruft foo() auf
$func = 'bar'; $func('test'); // Dies ruft bar() auf
$func = 'echoit'; $func('test'); // Dies ruft echoit() auf ?>
|
|
Sie können auch die Methode eines Objektes mittels der variablen
Funktionen aufrufen.
Beispiel 12-4. Variable Methode
<?php class Foo { function Var() { $name = 'Bar'; $this->$name(); // Dies ruft die Bar() Methode auf } function Bar() { echo "Das ist Bar"; } }
$foo = new Foo(); $funcname = "Var"; $foo->$funcname(); // Dies ruft $foo->Var() auf
?>
|
|
Siehe auch call_user_func(),
Variable Variablen und function_exists().
|