PHP5有一个“神奇方法”__call(),它可以在调用未定义的方法时调用的任何类上定义--它大致相当于Ruby语言的method_missing或Perl语言的AUTOLOAD。在旧版本的PHP中有可能做这样的事情吗?
发布于 2008-09-22 00:02:50
我遗漏的最重要的一点是__call存在于PHP4中,但是您必须通过调用overload()在每个类的基础上启用它,如php docs here所示。不幸的是,PHP4和PHP5之间的__call()函数签名是不同的,而且似乎没有一种方法可以在两者中运行的实现。
发布于 2008-09-16 20:10:23
我记得我用过它,稍微搜索一下就会发现
function __call($method_name, $parameters, &$return)
{
$return_value = "You called ${method_name}!";
}作为成员函数就可以完成这项工作。
https://stackoverflow.com/questions/76328
复制相似问题