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 ) nebude fungovat .