PHP Portal » PHP Handbuch » Variablenfunktionen

Werbung

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

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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.

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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().