Bien que PHP 4 dispose de nombreuses fonctionnalités,
fonctions et extensions nouvelles, vous pouvez trouver des fonctions PHP
3 qui manquent. Un petit nombre de fonctions de base n'ont pu
être portées en PHP 4, maintenant que l'analyse et l'exécution
ont été séparées. D'autres fonctions, et mêmes des extensions
entières sont maintenant obsolètes, remplacées par de nouvelles
fonctions plus puissantes ou plus efficaces. Certaines fonctions
n'ont tout simplement pas été portées pour le moment ou pour
des raisons de licence.
Comme PHP 4 sépare l'analyse et l'exécution, il n'est plus
possible de modifier le comportement de l'analyseur (intégré
dans le moteur Zend) durant l'exécution, puisque toute
l'analyse a eu lieu, et est terminée. La fonction
short_tags() a cessé d'exister. Vous pouvez
toujours modifier le comportement de l'analyseur avec
le fichier php.ini.
Une autre fonctionnalité de PHP 3 qui ne fait pas partie de PHP 4
est le débogueur. Des débogueurs réalisés par des tiers
sont disponibles, mais ne sont pas distribués avec PHP
D'autres extensions du Zend Engine sont aussi disponibles auprès
de divers sites et groupes.
Les extensions Adabas et Solid n'existent plus. Longue vie à l'extension
ODBC unifiée à la place !
unset(), bien que toujours disponible, a
été implémentée comme une structure du langage et elle
n'est plus vraiment une "fonction".
Cela n'a pas de conséquence directe sur le comportement de
unset(), mais tester son existence avec
function_exists() retournera FALSE comme cela serait le cas
avec une autre structure du langage comme echo().
Une autre application pratique disparue est qu'il n'est plus possible
d'appeler unset() indirectement, c'est-Ã -dire que
$func = "unset"; $func( $somevar ) ne fonctionnera plus.