variable Funktionsnamen

Analog zu den variablen Variabeln bietet uns PHP auch die Möglichkeit, das mit Funktionen zu machen.
Dabei legt man in einer Variablen den Funktionsnamen fest und ruft dann diese einfach mit einem () auf.

<?php

function erster ()
{
echo 'Jodelblah';
}

function blubb()
{
echo 'blubber';
}

if (true === $irgendwas)
{
  $func = 'erster';
}
else
{
  $func = 'blubb';
}

$func();

?>


Warning: Undefined variable $irgendwas in /users/nielsfortmann/www/ABC-programmierung/programmierung-V/variable-Funktionsnamen.php on line 54
blubber

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 Variablen 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.


Sie können auch die Methode eines Objektes mittels der variablen Funktionen aufrufen.

Beispiel #2 Variable Methode

<?php
class Foo
{
function Variable()
{
$name = 'Bar';
$this->$name(); // Dies ruft die Bar() Methode auf
}

function Bar()
{
echo "Das ist Bar";
}
}

$foo = new Foo();
$funcname = "Variable";
$foo->$funcname(); // Dies ruft $foo->Variable() auf

?>

Siehe auch call_user_func(), Variable Variablen und function_exists().