Chybějící funkce
Současně
s
tím
,
že
se
v
PHP
4
objevuje
mnoho
nových
prostředků
,
funkcí
a
rozšíření
,
můžete
najít
i
funkce
,
které
oproti
verzi
3
chybí
.
Malý
počet
jádrových
funkcí
zmizel
,
protože
nefungují
s
novým
schématem
oddělení
parsingu
a
provádění
kódu
v
Zend
enginu
.
Jiné
funkce
i
celá
kompletní
rozšíření
se
staly
zastaralými
tím
,
že
novější
funkce
a
rozšíření
poslouží
ve
stejné
roli
lépe
nebo
obecněji
.
Některé
funkce
jednoduše
ještě
nebyly
portovány
a
konečně
jsou
také
funkce
a
rozšíření
chybějící
kvůli
licenčním
konfliktům
.
Funkce chybějící kvůli konceptuálním změnám
Tím
,
že
PHP
4
odděluje
syntaktickou
analýzu
od
interpretace
,
již
není
možné
měnit
chování
parseru
(
nyní
vloženého
do
Zend
enginu
)
během
provádění
skriptu
,
který
byl
již
syntakticky
zpracován
.
Takže
funkce
short_tags(
)
již
neexistuje
.
Měnit
chování
parseru
stále
můžete
,
a
to
nastavením
hodnot
v
souboru
php.ini
.
Jiným
prostředkem
PHP
3
,
který
není
součástí
PHP
4
,
je
zabudované
rozhraní
pro
ladění
.
Existují
externí
doplňky
pro
Zend
engine
,
které
poskytují
podobné
funkce
.
Zavržené funkce a rozšíření
Databázová
rozšíření
Adabas
a
Solid
již
nejsou
k
dispozici
.
Namísto
toho
se
používá
rozšíření
unifikované
rozhraní
ODBC
.
Změněný status funkce
unset()
unset(
)
,
přestože
je
stále
k
dispozici
,
je
implementována
jako
jazykový
konstrukt
namísto
funkce
.
To
nemá
žádné
důsledky
v
chování
unset(
)
,
ale
test
"unset
"
pomocí
function_exists(
)
vrátí
FALSE
,
stejně
jako
v
případě
jiných
jazykových
konstruktů
,
které
vypadají
jako
funkce
,
např
.
echo(
)
.
Jinou
,
praktičtější
změnou
je
to
,
že
již
nelze
volat
unset(
)
nepřímo
,
tzn
.
$func="unset"
;
$func($somevar
)
už
nebude
fungovat
.