2010-04-09 221 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