2012-02-22 6 views
3

Это делает работу:"Неизвестное свойство" при расширении DateInterval

$test = new Test(); 
$test->blah(); 

class Test // extends DateInterval 
{ 
    private $foo = 0; 

    public function __construct() {} 

    public function blah() 
    { 
     echo $this->foo; 
     echo $this->bar; 
    } 

    public function __get($n) { echo $n; } 
} 

Выход, как и ожидалось, 0bar.

Но как только я раскомментировать extends DateInterval часть, я получаю сообщение об ошибке:

Fatal error: Test::blah(): Unknown property (foo)

Это происходит с PHP 5.3.2 на Linux, и это не происходит с PHP 5.3.8 на Windows.

+0

Возможно, вы получите ошибку Неустранимая ошибка: Test :: blah(): Неизвестное свойство (bar)? –

+0

Нет, я не потому, что фатальная ошибка прекращает выполнение до того, как она попадает в эту строку. – AndreKR

+0

Что такое версия php? –

ответ

0

Видимо, это ошибка, исправленная в версии 5.3.6 в соответствии с this и this страница.

Fixed bug #52738 (Can't use new properties in class extended from DateInterval). (Stas)

Кажется, единственным вариантом является, чтобы переключиться на другой PHP версии.

Смежные вопросы