Vom Nutzer definierte Funktionen
Eine
Funktion
kann
wie
folgt
definiert
werden
:
Jeder
beliebige
korrekte
PHP-Code
kann
in
einer
Funktion
vorkommen
,
sogar
andere
Funktionen
und
Klassen
-
Definitionen
.
In
PHP
3
müssen
Funktionen
definiert
sein
,
bevor
man
auf
sie
verweist
.
In
PHP4
ist
das
nicht
mehr
erforderlich
,
außer
wenn
eine
Funktion
nur
bedingt
definiert
wird
,
wie
in
den
beiden
untenstehenden
Beispielen
gezeigt
.
Wenn
eine
Funktion
nur
unter
bestimmten
Bedingungen
definiert
wird
,
muß
die
Definition
dieser
Funktion
noch
vor
deren
Aufruf
abgearbeitet
werden
.
Beispiel
13-1
.
Bedingte
Funktionen
?php
$makefoo
=
true
;
/
*
Wir
können
foo(
)
von
her
aus
nicht
aufrufen
,
da
sie
noch
nicht
existiert
,
aber
wir
können
bar(
)
aufrufen
*
/
bar()
;
if
($makefoo
)
{
function
foo
(
)
{
echo
"Ich
existiere
nicht
,
bis
mich
die
Programmausführung
erreicht
hat.\n"
;
}
}
/
*
Nun
können
wir
foo(
)
sicher
aufrufen
,
da
$makefoo
als
true
ausgewertet
wurde
*
/
if
($makefoo
)
foo()
;
function
bar(
)
{
{
echo
"Ich
existiere
sofort
nach
Programmstart.\n"
;
}
?
|
|
Beispiel
13-2
.
Funktionen
innerhalb
von
Funktionen
?php
function
foo(
)
{
function
bar(
)
{
echo
"Ich
existiere
nicht
,
bis
foo(
)
aufgerufen
wurde.\n"
;
}
}
/
*
Wir
können
bar(
)
noch
nicht
aufrufen
,
da
es
nicht
existiert
*
/
foo()
;
/
*
Nun
können
wir
auch
bar(
)
aufrufen
,
da
sie
durch
die
Abarbeitung
von
foo(
)
verfügbar
gemacht
wurde
*
/
bar()
;
?
|
|
PHP
unterstützt
weder
das
Überladen
von
Funktionen
,
noch
ist
es
möglich
,
zuvor
deklarierte
Funktionen
neu
zu
definieren
oder
die
Definition
zu
löschen
.
PHP
3
unterstützt
keine
variable
Anzahl
von
Parametern
,
obwohl
Vorgabewerte
für
Parameter
unterstützt
werden
(
weitere
Informationen
finden
Sie
unter
Vorgabewerte
für
Parameter
)
.
PHP
4
unterstützt
beides
:
siehe
Variable
Parameteranzahl
und
die
Funktionsreferenzen
für
func_num_args(
)
,
func_get_arg(
)
und
func_get_args(
)
für
weitere
Informationen
.