누가 함수를 호출했는지 확인하려면 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
문을 사용할 수 있습니다.
이게 전혀 도움이 안된다 ;-(OO를 사용하고 있지만'$ core-> getPassword()'에 접근하기위한'modules/customer/*. php' 액세스를 거부하는 법을 모르겠습니다. debug_backtrace' 나는'debug_backtrace (DEBUG_BACKTRACE_IGNORE_ARGS, 1) [0] [ 'file']'과 job done을 확인해 볼 것입니다! 동일한 기능을 수행하는 '올바른'방법을 찾고 있습니다. – Thomas
접근 방식이 잘못되었습니다. 뒤로 물러나 올바른 접근 방식을 취하면 도움이 될 것입니다. –
클래스를 확장하면 누가 주요 클래스에 액세스 할 수 있는지 제어 할 수 없습니다.이 방법은 모든 모듈이 핵심 모듈을 확장하여 보거나 보이지 않게 할 수 있습니다. 핵심 기능 정의. 내가 원하는 건 예를 들어,/modules/system /에있는 모든 모듈은/modules/custom/core에서 몇 가지 기능에 액세스 할 수 있습니다. – Thomas
- 1. 누가 onUpdate를 호출했는지 확인하는 방법
- 2. 누가 명령 프롬프트 창을 호출했는지 확인하는 방법
- 3. 클래스에서 어떤 div가 함수를 호출했는지 확인하는 방법은 무엇입니까?
- 4. 선택 횟수를 균등하게 호출했는지 확인하는 방법은 무엇입니까?
- 5. TransactionScope가 모든 커밋을 호출했는지 확인하는 방법은 무엇입니까?
- 6. 누가 Activity onAttachedToWindow 메서드를 호출했는지, 그리고 언제
- 7. 누가 신호를 방출했는지 확인하는 방법은 무엇입니까?
- 8. 함수를 호출했는지 확인할 수 있습니까?
- 9. 함수를 호출하는 사람이 자바에서 누가
- 10. PHP에서 함수를 선언하는 방법은 무엇입니까?
- 11. 패치 - 패치 된 클래스의 인스턴스가 클래스 함수를 호출했는지 확인하는 방법은 무엇입니까?
- 12. 조각이 이미 onCreateView()를 호출했는지 확인하는 방법
- 13. PHP에서 전역 변수의 기록을 확인하는 방법은 무엇입니까?
- 14. PHP에서 multi_curl이 지원되는지 확인하는 방법은 무엇입니까?
- 15. 클래스는 어떻게 누가 그 메소드를 호출했는지 알 수 있습니까?
- 16. jQuery 슬라이더 "change"이벤트 : 누가 호출했는지 어떻게 결정합니까?
- 17. 어떤 페이지가 Usercontrol을 호출했는지 확인하는 방법
- 18. 어떤 자식이 부모 메서드를 호출했는지 확인하는 방법
- 19. SQL Server 2005에서 누가 어떤 작업을했는지 확인하는 방법은 무엇입니까?
- 20. PHP에서 실패한 DateTime을 확인하는 방법은 무엇입니까?
- 21. 소켓이 PHP에서 열려 있는지 확인하는 방법은 무엇입니까?
- 22. 페이지가 php에서 열린 경로를 확인하는 방법은 무엇입니까?
- 23. 파이썬에서 서버가 작동하는지 확인하는 방법은 무엇입니까? PHP에서
- 24. 파일이 PHP에서 사진인지 확인하는 방법은 무엇입니까?
- 25. PHP에서 양식 제출을 확인하는 방법은 무엇입니까?
- 26. PHP에서 유효한 날짜를 확인하는 방법은 무엇입니까?
- 27. PHP에서 문자열이 수학적 문장인지 확인하는 방법은 무엇입니까?
- 28. gzip 압축이 PHP에서 활성화되었는지 확인하는 방법은 무엇입니까?
- 29. PHP에서 모든 문자가 영숫자인지 확인하는 방법은 무엇입니까?
- 30. PHP에서 메소드가 정적인지 확인하는 방법은 무엇입니까?
디버깅을 위해'debug_backtrace'가 생성됩니다. 다른 객체와 클래스에 어떻게 접근 할 수 있는지 알려주도록 설계된'private','protected','public'을 사용해야합니다. – barell
@barell 나는'private','protected' 및'public'을 사용하는 방법을 알고 있지만, 어떤 모듈이 함수를 호출하는지 확인할 수 있도록 허용하거나 거부 할 수 있습니까? – Thomas