我正在寫一個我希望能夠很容易地擴展的類,但是每個變量都需要3或4個函數來支持它。我試圖想出一種可以利用數組或其他數據類型的方式,這樣我就可以編寫強制函數並將它們與每個變量一起使用,而無需編寫更多和更多的代碼,只需簡單地向數組中添加一個新變量並自動處理。有沒有人做過這樣的事情?PHP類的自動調整功能?
3
A
回答
2
看看PHP magic methods。在調用無法訪問的屬性時,可以使用__get
從數據存儲(例如數組)中獲取值,設置__set
。當調用不可訪問的方法時,將調用__call
方法,因此您可以檢查其中一個您需要的4個方法。請注意,神奇的方法比手動編碼所有方法要慢一些。
1
您可能有興趣在班級中實施__call
,作爲全方位的方法。有關更多信息,請參見the documentation。通過這種方式,您的對象將能夠接收方法調用,這些方法實際上並不存在,但是會根據其名稱進行動態調度。你會檢查這個被請求的方法是否與你提到的擴展之一相對應。
0
你在找這樣的嗎?
function myfunc($requiredParameter, $arrayWithOptionalParameters=array()) {
if(!empty($arrayWithOptionalParameters['somekey'])) {
// Do stuff
}
}
相關問題
- 1. 窗體自動調整大小功能
- 2. 功能自動調用
- 3. PHP自動加載功能
- 4. 基本自動調整功能無法使用的DevExpress GridControl.View
- 5. 對自動配置功能窗口中的SVG調整
- 6. 使用perl的列寬自動調整功能
- 7. 自動裝填在PHP的整體命名空間(功能,而不是一類)
- 8. mysql左調整類型功能
- 9. php Codeigniter沒有調用類的功能
- 10. 通過jquery調用php類的功能
- 11. 添加活動重新調整功能
- 12. 自動完成功能不完整
- 13. 整數功能參數自動鑄造
- 14. Gembox.Spreadsheet自動調整功能無法與前兩列C#
- 15. 如何觸發調整大小功能自動
- 16. 自動veriable和功能的Intitialiazation調用
- 17. PHP中的jQuery自動完成功能
- 18. jQuery的自動完成源php功能
- 19. 與PHP的Jquery自動完成功能
- 20. 自動調整
- 21. 錯誤調用PHP類功能
- 22. PHP微調功能
- 23. 的fancybox自動調整(自動調整大小)的問題
- 24. Javascript調整大小功能
- 25. 分組調整功能
- 26. WPF Popup不能自動調整大小
- 27. 調用類功能
- 28. 調用類功能
- 29. jquery ajax php自動保存功能
- 30. 在PHP SVG自動換行功能?
你可以舉一個你試圖實現的數據處理的例子嗎?你所指的是可行的,但我需要更多細節來幫助你。 –
這更多的是一個實驗性問題,數據並不是那麼重要。我只是想知道其他人會如何去解決這個問題。我曾想過創建一個單例,並通過一些數據庫交互將它自動擴展。 – Nathan