2012-02-22 50 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)? – 2012-02-22 10:44:49

+0

不,我不这样做,因为致命错误在它到达该行之前停止执行。 – AndreKR 2012-02-22 12:28:01

+0

什么是PHP版本? – 2012-02-22 13:00:17

回答

0

显然这是一个错误,根据thisthis页面在版本5.3.6中得到修复。

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

好像你唯一的选择是切换到另一个PHP版本。