::
Achtung
|
Die
folgende
Beschreibung
ist
nur
für
PHP
4
gültig
.
|
Manchmal
ist
es
hilfreich
,
auf
Funktionen
in
Basisklassen
bzw
.
auf
Funktionen
in
Klassen
zuzugreifen
,
die
noch
keine
Instanzen
haben
.
Dafür
wird
der
:
:
Operator
verwendet
.
Das
obige
Beispiel
ruft
die
Funktion
example(
)
der
Klasse
A
auf
.
Nachdem
noch
kein
Objekt
der
Klasse
A
existiert
,
können
wir
nicht
$a
-
example(
)
oder
ähnliches
schreiben
.
Stattdessen
rufen
wir
example(
)
als
'Klassenfunktion
'
auf
,
d.h
.
als
Funktion
der
Klasse
selbst
,
und
nicht
irgendein
Objekt
dieser
Klasse
.
Es
gibt
Klassenfunktionen
,
aber
keine
Klassenvariablen
.
Tatsächlich
gibt
es
zur
Zeit
des
Aufrufs
kein
Objekt
.
Deshalb
darf
eine
Klassenfunktion
keine
Objektvariablen
benutzen
(
aber
sie
kann
lokale
und
globale
Variablen
verwenden
)
,
und
sie
darf
$this
ebenfalls
nicht
benutzen
.
In
dem
obigen
Beispiel
definiert
Klasse
B
die
Funktion
example(
)
neu
.
Die
ursprüngliche
Definition
in
Klasse
A
ist
überschattet
und
nicht
länger
verfügbar
,
außer
Sie
verweisen
mittels
des
::-Operators
speziell
auf
example(
)
in
Klasse
A
.
Schreiben
Sie
A::example(
)
,
um
dies
zu
tun
(Tatsächlich
sollten
Sie
parent::example(
)
schreiben
,
wie
im
nächsten
Abschnitt
beschrieben
)
.
In
diesem
Kontext
besteht
ein
Objekt
,
das
Objektvariablen
haben
kann
.
Deshalb
können
Sie
auch
$this
und
Objektvariablen
verwenden
,
wenn
sie
von
innerhalb
einer
Objektfunktion
verwendet
werden
.