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