2011-02-09 6 views
0

나는 procedural에서 oop으로 PHP 응용 프로그램을 이전하려고합니다.
나는 사실, 내가 네게이 모든 하나는 출력보다 상세하게 (오류 및 경고 출력을 활성화하기 위해 DEBUG 상수를 사용합니다.
가 하지만이 방법 내에서 그 정수를 액세스 할 수있는 방법을 찾을 수 없습니다.
상수는 별도의 파일에 자동로드하기 전에 정의되어 있습니다.클래스 메서드 내에서 상수에 액세스하는 방법

유틸리티 파일에서 내가

define('DEBUG', TRUE); 

이 주어진 방법 안에 내가

if(!defined('DEBUG')) define('DEBUG', FALSE); 
에 시도

하지만 항상 DEBUG = FALSE로 끝납니다.
내가 뭘 잘못하고 있니? 나는 OOP하는 총 멍청한 놈, 그래서 모든 클래스가 자신의 파일이

대한 설명 :-) 부드러운주세요.
주어진 스크립트에서 내가 할 일은 유틸리티 파일을 포함시키는 것입니다. 유틸리티 파일은 DEBUG를 정의하고 _autoload 기능을 가진 사람입니다.

script_file.php 
includes utility_file.php 
    defines DEBUG 
    has _autoload function 
+0

일반적으로 정의는 어디에서나 사용할 수 있습니다. 파일로드에 문제가 있습니다. – kirilloid

+0

나는 –

+0

이라는 명확한 설명을 추가 했으므로 유틸리티가 상수 DEBUG를 정의했다면 _autoload 함수는 무엇입니까? DEBUG가 정의되어 있는지 확인하는 함수는 어디에 있습니까? 자동로드 기능입니까? 또는 어딘가에 포함 후에? – Arvin

답변

0

darkphoenix가 맞았다. 이것은 OOP 문제가 아니다. 이것이 NetBeans 문제였습니다.
NetBeand를 사용하고 저장시 원격 서버로 파일을 업로드하고 있습니다. 유틸리티 파일에서 DEBUG 상수를 TRUE로 설정하고 NetBeans에서 save를 누르면 저장 프로세스가 문제없이 진행됩니다 (경고 또는 기타 사항 없음).
후자가 SSH를 통해 로그인했을 때 파일에 고양이가 나타나서 크게 놀랐습니다. 파일이 서버에 저장되지 않았습니다. 내 로컬 사본에는 마지막 편집 내용이 있지만 리모컨은 편집하지 않습니다.
이야기의 도덕 : 나는 당신을 싫어합니다 NetBeans

1

에 따르면 this에 따라 코드에 직접 DEBUG (선행 $ 없음)에 액세스해야합니다. 당신이 말하는 기능과 동일한 파일에 유틸리티 파일을 포함 시키거나 필요합니까? 나는 이것이 OOP 문제라고 생각하지 않는다.

+0

을 사용하려고 시도하는 것입니다. 그래서 여기에서 무슨 일이 일어나고 있는지 이해할 수 없습니다 ... 질문에 설명을 추가했습니다. –

+0

모든 절차 함수에서 DEBUG 상수에 액세스 할 수 있습니다. 하지만 수업 내면, 결코 존재하지 않았던 것처럼 ... –

관련 문제