Хотя большая часть существущего кода на PHP 5 должна работать без изменений, нужно обратить внимание на следующие нарушения обратной совместимости:
NULL
, если переданы
несовместимые аргументы, начиная с PHP 5.2.1.
TRUE
при удачном выполнении, начиная с PHP 5.2.1.
TRUE
при удачном выполнении, начиная с PHP 5.2.1.
FALSE
.
Начиная с PHP 5.2.0 эта операция вызовет E_WARNING
,
как и в любом другом случае деления на 0.
<?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
/* При allow_url_include равной OFF (по умолчанию) */
include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
/* Warning: include(): URL file-access is disabled
in the server configuration in filename on line n */
?>
FALSE
, если нарушены ограничения
openbase_dir.