除debug_backtrace
之外,還有其他什麼方法來檢查誰調用了該函數?我正在研究模塊化系統,我喜歡控制哪些模塊可以訪問'核心'功能集中的特定功能/變量。 debug_backtrace
對我來說很完美,但我不確定是否要在生產中使用它。如何檢查誰在PHP中調用函數?
回答
改爲使用面向對象(OO)方法。使用debug_backtrace
這是錯誤的,它用於調試。
您應該使用OO來限制功能。
例如,如果你有一些模塊Customer
,Product
和User
那麼你可以讓它們中的每一個擴展一個不同的類;
class Customer extends Admin_Module
class Product extends Public_Module
class User extends Registered_User_Module
您還可以使用public
,private
和protected
聲明停止從子類或其他完全不同類的訪問。
這不幫我;-(我使用面向對象,但我不知道如何拒絕訪問例如'modules/customer/*。php'來訪問'$ core-> getPassword()'。 debug_backtrace'我只是檢查'debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS,1)[0] ['file']'並且完成了工作!我正在尋找'PROPER'的方式來做同樣的功能。 – Thomas
它不會幫助你的方法,因爲你的方法是錯誤的。退後一步,採取正確的方法,然後OO將有所幫助。 –
擴展一個類不給主要類來控制誰可以訪問它,這種方式可以任何模塊擴展核心模塊,看看或不看 - 取決於核心函數的定義,我想要的是例如/ modules/system /中的任何模塊都可以訪問無處不在,以及/ modules/custom /只是從核心中的幾個函數中進行訪問...... – Thomas
- 1. 如何查找誰在調用共享庫函數?
- 2. 誰在java中調用主函數?
- 3. 如何通過PHP檢查複選框時調用jQuery函數?
- 4. 如何在ajax中調用php函數
- 5. 我如何在php中調用函數
- 6. 如何在JavaScript中調用PHP函數?
- 7. 如何在PHP中調用ajax函數?
- 8. 如何檢查誰在調用WCF Windows服務
- 9. 如何檢查誰叫onUpdate
- 10. 如何檢查在firebug中調用了哪些JavaScript函數
- 11. 如何檢查函數是否在模擬方法中調用?
- 12. 檢查函數在PHP
- 13. 如何在PHP中檢查MYSQL後使用JQUERY函數
- 14. 如何調用PHP函數?
- 15. 如何檢查被另一個函數調用的函數?
- 16. 如何檢查函數調用中是否提供了參數?
- 17. 如何檢查誰在監聽android.provider.Telephony.SMS_RECEIVED?
- 18. 在php中調用函數
- 19. 如何檢查的回調函數的參數個數調用函數
- 20. 在javascript函數中檢查php變量
- 21. PHP/MySQL:函數誰剝去
- 22. 如何在$ .getJSON函數中調用PHP函數?
- 23. 如何在PHP中記錄所有調用函數? (mail()函數)
- 24. 如何在另一個函數中調用php類函數
- 25. 使用PHP調用PHP函數在後端調用PHP函數
- 26. 如何從html中調用Php函數
- 27. 如何從JavaScript中調用PHP函數
- 28. 如何從javascript中調用php函數
- 29. 如何調用PHP函數在樹枝
- 30. 如何在javaScript函數中檢查null?
'debug_backtrace'創建用於調試。你應該使用'private','protected'和'public',它們被設計用來告訴其他對象和類別他們如何訪問對方。 – barell
@barell我知道如何使用'private','protected'和'public',但是我如何檢查調用函數的模塊,以便我可以決定允許還是拒絕它? – Thomas