我正在使用 CMS,Joomla,并且有一个核心类将一组参数呈现给一个表单,JParameter。基本上它有一个render()
功能,可以输出一些与我网站的其余部分不一致的表格 HTML。
对于可维护性的问题,并且因为我不知道在哪里使用它,我不想更改核心代码。理想的情况是能够定义一个扩展 JParameter 的新类,然后将我的 $params 对象向下转换为这个新的子类。
// existing code --------------------
class JParameter {
function render() {
// return HTML with tables
}
// of course, there's a lot more functions here
}
// my magical class -----------------
class MyParameter extends JParameter {
function render() {
// return HTML which doesn't suck
}
}
// my code --------------------------
$this->params->render(); // returns tables
$this->params = (MyParameter) $this->params; // miracle occurs here?
$this->params->render(); // returns nice html