2009-12-17 3 views
0

PHP 파일에 내 config 파일에서 변수를 읽어야하는 클래스가 있습니다. 구성 파일은 클래스와 클래스 자체를 포함하는 페이지 (require_once와 함께)에 모두 포함됩니다.PHP 5.3.0 포함 펑키 문제

주의 사항 : 그러나, 변수 i는 오류 나는군요에 따라, ($의 CFG) 분명히 클래스 파일에 정의되어 있지 않습니다 읽을 필요가 정의되지 않은 변수 :/옵션/lampp를/htdocs에/screia에서의 cfg 추가하여 라인 (45)

내가 config 파일에서이 글로벌 만드는 시도에 /obj/MemberProfile.class.php :

global $cfg; 

하지만 여전히 늘 그것을 찾을 수 있습니다. 5.3.0에서 새로운 네임 스페이스를 사용하여 포함의 의미를 변경했을 가능성이있는 친구로부터 제안을 받았습니다. 이게 사실인가요?

+1

코드 예는 도움이 될 수 있습니다. –

답변

2

으로 당신은 어떻게 global 작품을 misunderstading하고, 클래스 파일에 $ GLOBALS의 내용을 확인합니다. 변수를 사용하여 함수 본문에 넣어야합니다. 예 :

class Something { 
    function foo() { 
     global $cfg; 
     // Code using $cfg here 
    } 
} 

그게 효과가있다. 그러나 global을 사용하는 것은 나쁜 습관이지만 인스턴스를 만들 때 또는 필요한 경우 클래스에 필요한 구성을 전달하는 것을 고려해야합니다.

+0

$ GLOBALS [ 'cfg'];를 사용하여 일관되게 액세스 할 수도 있습니다. – preinheimer

0

통지를 던지고있는 행의 클래스 파일에서 $ cfg 앞에 global 예를 들어보십시오. global $cfg 전에 을 읽고 변수.

또한, 같은 isset($GLOBALS['cfg'])