상황 뿌려 bar.php :PHP/젠드 정의 변수
<?php
echo $x;
?>
젠드 통지 : 정의되지 않은 변수 : 전역의 $ X를 배치 X
; bar.php에서 통지를 제거하지만, 왜 처음에 이것에 대한 통지가 있다는 것을 이해합니다. C 헤더를 포함하는 것과 같은 많은 작업을 포함하지 않습니까? 이는 해석 된 코드가 다음과 같음을 의미합니다.
<?php
function foo($p) {
include_once($p); // please dont mind the inclusion hole
}
$x = 42;
// this however, is included by a function...
// does the function's scope influence the stuff it includes?
echo $x; // undefined variable
?>
내 편집기는 Eclipse/Zend 패키지입니다.
나는 당신이 옳다고 믿게됩니다. 글로벌 $ x; foo() 함수 안에서도 notices 오류가 수정됩니다. 나는 이것에 관한 문서 페이지를보고 싶어 할 것이고, PHP가 여전히 코드를 잘 실행하지만 통지를내는 이유는 무엇일까? –
오류가 발생하지 않는 이유는 간단합니다. PHP에서 선언되지 않은 변수를 사용하는 것은 오류가 아닙니다.항상 경고를 생성하고 실행을 계속합니다. 그래서 항상 내 오류 처리기를 선언하고 모든 오류/경고/통지에 예외를 던지는 것을 선호합니다. 좋은 코드는 어쨌든 어떤 것도 생성해서는 안됩니다. – soulmerge