:
:
Uwaga
!
|
Poniższe
dotyczy
tylko
PHP
4
.
|
Czasami
dobrze
jest
odnosić
się
do
funkcji
i
zmiennych
w
klasie
bazowej
lub
odnosić
się
do
funkcji
i
klas
które
nie
mają
jeszcze
instancji
.
Służy
do
tego
operator
::
.
Powyższy
przekład
wywołuje
funkcję
przyklad(
)
z
klasy
A
,
ale
nie
tworząc
obiektu
tej
klasy
,
przez
co
nie
możemy
napisać
nic
w
stylu
$a
-
przyklad(
)
.
Zamiast
tego
możemy
wywołać
przyklad(
)
jako
'funkcję
klasy
'
,
czyli
jako
funkcję
tylko
klasy
,
nie
żadnego
obiektu
tej
klasy
.
Istnieją
funkcje
klasy
,
ale
nie
ma
zmiennych
klasy
.
Faktycznie
w
czasie
wykonania
nie
ma
żadnego
obiektu
.
W
związku
z
tym
funkcje
klasy
nie
mogą
używać
żadnych
zmiennych
obiektu
(
ale
mogą
używać
zmiennych
lokalnych
i
globalnych
)
,
ani
w
ogóle
$this
.
W
powyższym
przykładzie
,
klasa
B
przedefiniowuje
funkcję
przyklad(
)
.
Orginalna
definicja
z
klasy
A
jest
zasłonięta
i
niedostępna
,
chyba
że
odwołasz
się
do
konkretnej
implementacji
poprzez
operator
::
.
Aby
to
zrobić
,
napisz
A::przyklad(
)
(powinieneś
jednak
użyć
parent::przyklad()
,
tak
jak
to
pokazano
w
następnej
części
)
.
W
tym
kontekście
,
istnieje
bieżący
obiekt
i
który
ma
zmienne
obiektu
.
W
związu
z
tym
jeśli
funkcja
jest
użyta
Z
WEWNĄTRZ
funkcji
obiektu
,
możesz
używać
$this
i
zmiennych
obiektu
.