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
13-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
13-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
-
$varname()
;
/
/
Dies
ruft
$foo
-
Var(
)
auf
?
|
|
Siehe
auch
call_user_func(
)
,
Variable
Variablen
und
function_exists(
)
.