La plupart des fonctions internes de PHP ont été réécrites pour qu'elles retournent TRUE en cas de succès, et FALSE en cas d'erreur, au contraire des fonctions qui retournaient 0 et -1 en PHP/FI 2.0. Le nouveau comportement est beaucoup plus logique, comme $fp = fopen("/your/file") or fail("fichier non trouvé!"); . Étant donné que PHP/FI 2.0 n'a pas de règle claire à propos de ce que les fonctions doivent retourner en cas d'échec, la plupart des scripts devront probablement être vérifiés manuellement, après avoir utilisé le convertisseur 2.0 à 3.0.
Exemple F.11. Migration depuis 2.0 : valeurs retournées, ancienne méthode
<?php
$fp
=
fopen
(
$file
,
"r"
);
if (
$fp
== -
1
);
echo(
"Impossible d'ouvrir le fichier $file en lecture <br />\n"
);
endif;
?>
Exemple F.12. Migration depuis 2.0 : valeurs retournées, nouvelle façon
<?php
$fp
= @
fopen
(
$file
,
"r"
) or
print(
"Impossible d'ouvrir le fichier $file en lecture<br />\n"
);
?>