我正在寻找一种通过插件类重载主项目类的方法(ofc不是整个类 - 只有少数方法,如头解析器或者sth)。 有可能吗?
答案 0 :(得分:1)
您可以扩展课程:
class A { public function __get($value){ switch($value){ case "a1": return 1; break; case "a2": return 2; break; default: // error handler goes here return "number out of range"; // or NULL or anything else } } // end of method __get } // end of class A class B extends A { public function __get($value){ switch($value){ case "a1": return 11; break; // we overload value of 1 case "b3": return 3; break; // we add these new properties case "b4": return 4; break; default: // check ancestor's properties return parent::__get($value); } } // end of method __get } //end of class B
答案 1 :(得分:1)
有一些覆盖方法的方法,例如: runkit。但是this answer相关问题表明这些扩展并未定期维护。