2010-04-09 178 views
4

在symfony的模型时,我要重写的功能和压倒一切的一个中调用重写的功能,沿调用从覆盖方法中覆盖的方法在OO PHP

class MyClass extends BaseMyClass { 

    function setMyProperty($p) { 
    parent::setMyProperty($p); 
    //do some other stuff 
    } 

} 

此行是造成在分段故障中。我不想改变父类 - 它是由symfony生成的,如果模型重建,未来可能会被覆盖。这看起来应该是直截了当的,但我正在努力寻找解决方案。

+2

这不应该发生。请提供有关错误消息的更多数据,并检查日志文件是否有任何其他信息。 – Gordon 2010-04-09 10:51:58

+0

您正在使用哪个PHP版本? – pinaki 2010-04-09 11:08:17

+0

请注意,这与Symfony有关 - 这是Doctrine。 – Crozin 2010-04-10 14:14:23

回答

-2

我在symfony project forum上设法找到了我自己的问题的解决方案。

我不能调用重写的函数,因为它不存在。虽然它足以让我覆盖它。

使用

$this->_set('my_property', $p); 

作品,其中

parent::setMyProperty($p); 

导致错误。

注意,在我的课

$this->setMyProperty($p); 

工作正常,如果该方法还没有被覆盖。

0

既然您看到了这个问题,我想您应该将它标记为已回答,将其从未答复的列表中删除。

+0

oooppzz,对不起,我打算将它添加为评论。新用户错误。 – Hanseh 2010-04-11 15:40:24

+0

我发布解决方案后2天内无法将其标记为已解决。在周末我滑了一下头 - 感谢提醒。 – paddymcc 2010-04-12 10:04:55

+0

我的荣幸。我对这个问题很感兴趣,并没有注意到你已经有了一个解决方案,所以我提醒了你。 :d – Hanseh 2010-04-12 10:13:28