PHP5有一个“魔术方法”__call()
,它可以在调用未定义方法时调用的任何类上定义 - 它大致相当于Ruby的method_missing
或Perl的AUTOLOAD
。是否有可能在旧版本的PHP中做这样的事情?有没有办法在PHP4中模拟PHP5的__call()魔术方法?
2
A
回答
1
这篇文章,Using Method Call Overloading in PHP 4在DevShed上可能会有所帮助。
0
我记得使用它,和谷歌上搜索的一点点暗示
function __call($method_name, $parameters, &$return)
{
$return_value = "You called ${method_name}!";
}
的成员函数将做的工作。
2
我错过的最重要的一点是PHP4中存在__call
,但是您必须通过调用overload()
来按类别启用它,如php docs here所示。 不幸的是,__call()函数签名在PHP4和PHP5之间是不同的,并且似乎没有办法在两者中运行实现。
相关问题
- 1. 误解在PHP的魔术方法__call()
- 2. PHP关于子类魔术方法__call
- 3. 字符串魔术方法__call
- 4. 在魔术方法中分解参数__call php
- 5. 是否有像php中的全局范围魔术方法__call()函数?
- 6. adb-有没有办法模拟IME_ACTION _DONE?
- 7. 有没有办法模拟QGroupVBoxLayout?
- 8. perl mocking有没有办法模拟$?
- 9. 有没有办法一般地用Moq模拟DbSet.Find方法?
- 10. 魔术函数__call()函数?
- 11. Laravel 4魔术方法__call替换控制器
- 12. JavaScript中的魔术方法
- 13. 有没有办法在Perl中模拟内置的require函数?
- 14. 魔术方法在Python
- 15. Php5.3魔法__call和内存
- 16. 有没有办法升级PHP4的mysql客户端?
- 17. 模拟测试和PHP的魔术__get方法
- 18. 有没有办法在Geddy模型中定义虚拟域?
- 19. 有没有办法在MySql中模拟GROUP BY WITH CUBE?
- 20. 有没有办法在UIScrollView中模拟scrollViewDidScrollToBottom?
- 21. 有没有办法在JavaScript中模拟点击警报?
- 22. 有没有办法在Django中使用查询来模拟foreach?
- 23. 有没有办法在Rails中模拟/存根“放入”
- 24. 有没有办法在CDMA模式下运行Android模拟器?
- 25. 有没有办法在没有.save()方法的猫鼬中定义模型?
- 26. 有没有办法模拟Apache中的缓慢连接?
- 27. 有没有办法模拟Windows 8中的触摸事件?
- 28. 有没有办法在MySQL的第二列上模拟auto_increment?
- 29. 有没有办法在Textmate中从方法跳转到方法?
- 30. 当调用现有方法时执行(魔术)方法
我怀疑jes5199在询问是否有人知道类似__call方法的时候正在考虑__call方法......我认为“在PHP4中”是问题的关键部分。 – 2008-09-16 20:13:58