PHP5有一个“神奇的方法” __call()可以在调用未定义方法时调用的任何类上定义——它大致相当于 Ruby 的 method_missing 或者 Perl 的 AUTOLOAD. 。在旧版本的 PHP 中可以做这样的事情吗?

有帮助吗?

解决方案

本文, 在 PHP 4 中使用方法调用重载 在 DevShed 上可能会有所帮助。

其他提示

我缺少的最重要的一点是 __call 存在于 PHP4 中,但您必须通过调用在每个类的基础上启用它 overload(), ,如所示 php 文档在这里 。不幸的是,PHP4 和 PHP5 之间的 __call() 函数签名不同,并且似乎没有一种方法可以实现在两者中运行的实现。

我记得使用过它,谷歌搜索表明

function __call($method_name, $parameters, &$return)
{
  $return_value = "You called ${method_name}!";
}

作为成员函数将完成这项工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top