有沒有辦法在不觸及類編碼的情況下重寫類內部的函數?PHP Override外部類功能
我們有課,讓我們說這是位於foo.php:
class WPSEO_Frontend {
public function head() {
echo '<!--/', $this->head_product_name(), ". -->\n\n";
return;
}
}
所以無需修改上面這個類,是有辦法消除這種echo
從類外,像(我知道下面的例子是行不通的):
bar.php
class WPSEO_Frontend overrides head {
echo '';
return;
}
你沒有擴展能力該類重寫公共方法,例如,如果無法以任何方式修改調用代碼以使用不同的類? –
@MichaelBerkowski抱歉,我不瞭解你的問題 – Mitch
我的意思是,在PHP(和其他許多langs)中處理這個問題的正常方法是創建一個類,比如'class WPSEO_Frontend_Subclass extends WPSEO_Frontend {}',並重新定義方法那裏。但是,如果您無法訪問調用「新WPSEO_Frontend()」的代碼以替代您的子類,那將無濟於事。 –