PHP5有一个“魔术方法”__call()
,可以在调用未定义方法时调用的任何类上定义 - 它大致相当于Ruby的method_missing
或Perl的{{1} }。是否可以在旧版本的PHP中执行类似的操作?
答案 0 :(得分:2)
我遗漏的最重要的一点是PHP4中存在__call
,但您必须通过调用overload()
按类启用它,如php docs here中所示。
不幸的是,PHP4和PHP5之间的__call()函数签名是不同的,并且似乎没有办法实现将在两者中运行的实现。
答案 1 :(得分:1)
关于DevShed的这篇文章Using Method Call Overloading in PHP 4 可能有所帮助。
答案 2 :(得分:0)
我记得使用它,一点点谷歌搜索表明
function __call($method_name, $parameters, &$return)
{
$return_value = "You called ${method_name}!";
}
作为成员函数将完成这项工作。