|
|
|
| Сегодня обнаружил, что код, который всегда работал опять не нравится новой версии PHP.
Ошибка уровня E_STRICT:
Warning: Implicit cloning object of class 'class_name' because of 'zend.ze1_compatibility_mode'
Ошибка выдаётся на обычное создание объекта:
<?php
$class_name = new class_name();
?>
|
Долго копал в чём дело. Дошло до смешного:
<?php
set_error_handler('error_handler');
function error_handler($errno, $errstr, $errfile, $errline, $errcontext)
{
echo "Error `$errstr', line $errline";
}
class class_name
{
function __construct()
{
}
}
$obj = new class_name();
?>
|
Этот код у меня выдаёт: Error `Implicit cloning object of class 'class_name' because of 'zend.ze1_compatibility_mode'', line 17
В мануале написано что-то не совсем внятное. Какое тут клонирование объекта? Вроде никакого.
Что не так?! Я вообще в шоке.
P.s. Версия PHP - 5.2.5.
p.p.s. Убрав свой обработчик ошибок можно избавиться от этого. Но так дела не пойдут...
ЗЫ: Пока на время в обработчике ошибок поставил return true для E_STRICT. Но что за ... ерунда всё равно хочу узнать. | |
|
|