Même si la majorité du code PHP 5 devrait fonctionner sans modification, il est recommandé de surveiller les points suivants, qui introduisent des incompatibilités avec les versions précédentes.
NULL
quand on lui passe
des arguments incorrects depuis PHP 5.2.1.
TRUE
en cas de succès depuis PHP 5.2.1.
TRUE
en cas de succès depuis PHP 5.2.1.
FALSE
.
Depuis PHP 5.2.0, cette tentative conduit à l'émission d'une alerte de type
E_WARNING
, comme lorsque des divisions par zéro sont effectuées.
<?php
print 10 % 0;
/* Warning: Division by zero in filename on line n */
?>
<?php
class foo {}
$foo = new foo;
print $foo;
/* Catchable fatal error: Object of class foo could
not be converted to string in filename on line n */
?>
<?php
class foo {
public function __toString() {
throw new Exception;
}
}
try {
print new foo;
/* Fatal error: Method foo::__toString() must
not throw an exception in filename on line n */
} catch(Exception $e) {}
?>
<?php
abstract class foo {
abstract static function bar();
/* Strict Standards: Static function foo::bar()
should not be abstract in filename on line n */
}
?>
<?php
/* lorsque allow_url_include vaut OFF (valeur par défaut) */
include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
/* Warning: include(): URL file-access is disabled
in the server configuration in filename on line n */
?>
FALSE
lorsque les restrictions openbase_dir sont violées.