2009-10-26 7 views

답변

3

클래스를 두 번 이상 선언하는 파일을 가져올 가능성이 있습니다. 이것은 포함/증상이 통제 불능 상태가되어 구조가 간단 할 수 있습니다.

한 가지 대안은 자동로드를 사용하여 이러한 종류의 문제를 피하기 위해 클래스를로드하는 것입니다. 또 하나는 include_once 또는 require_once 만 사용하는 것입니다. 나는 일반적으로 간단한 구조로 require를 사용하는 것을 선호한다.

+0

PHP가 제어 할 수 없을 수도 있습니다. 이미 include_once를 사용하고있었습니다. 하지만 버그가있는 곳을 찾도록 도와 줘서 고마워. – Roch

+0

내가 사용하고 있었다 : include_once ($ this-> PluginDir. 'class.php'); 및 include_once (_INCLUDE_PATH _. "../ class.php"); 다른 곳. – Roch

3

예, 바보 같은 PHP는 클래스가 선언 된 곳을 알려주지 않습니다. 개체가 var_dump(debug_backtrace());을 사용하고 호출 스택을 보면 인스턴스화 당신은 찾을 수 있습니다 (즉시 치명적인 오류 라인 전) 다음

$r = new ReflectionClass("YourClassName"); echo $r->getStartLine(); 
+2

"Yes stupid! ..."와 같이 보입니다. – andho

+0

클래스가 $ r-> getFileName();으로 선언 된 파일을 찾을 수 있다고 추가했습니다. – thelastshadow

0

을보십시오.

관련 문제