有没有办法在不触及类编码的情况下覆盖类中的函数?
我们上课,让我们说它位于 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;
}
答案 0 :(得分:0)
你应该尝试做的是创建一个&#34; WPSEO_Frontend_Base&#34;然后创建另一个&#34; WP_SEO_Frontend&#34;从它扩展的子类重写了head()函数。
以下是一些示例代码:
<强> wpseo.frontend.base.php 强>
class WPSEO_Frontend_Base {
public function head() {
echo '<!-- / ', $this->head_product_name(), ". -->\n\n";
return;
}
}
<强> wpseo.frontend.php 强>
require 'wpseo.frontend.base.php';
class WPSEO_Frontend extends WPSEO_Frontend_Base {
function head(){
// Override head() here
}
}