有没有办法在不触及类编码的情况下重写类内部的函数?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()”的代码以替代您的子类,那将无济于事。 –