새 버전의 PHP에서 예전의 코드를 사용하기
PHP는 유명한 스크립트 언어로 성장했고, 재사용 할 수 있는 많은 양의
저장소와 라이브러리 코드 자원이 존재합니다. PHP 개발자는 하위 호환을
유지하기 위해 많이 노력했기 때문에, 이전 버전에서 작성한 스크립트라도
아무런 변경 없이 새버전의 PHP에서 (완벽하게) 작동합니다. 그렇지만, 실제
상황에선 몇가지 변경이 필요할 수도 있습니다.
예전의 코드에 영향을 주는 최근의 중요한 두가지 변경점:
-
(함수나 메쏘드 안에서 사용할 때 global 선언을 필요로 하는) 이전의
$HTTP_*_VARS 배열의 배제. PHP
» 4.1.0에서 소개한
자동전역 배열을
사용하십시오. 그 종류는 $_GET,
$_POST, $_COOKIE,
$_SERVER, $_FILES,
$_ENV, $_REQUEST,
$_SESSION입니다. $HTTP_POST_VARS 등, 이전 형태의
$HTTP_*_VARS 배열도 존재합니다.
PHP 5.0.0부터, 긴 형태의 PHP 예약 변수 배열을 register_long_arrays 지시어로
제거할 수 있습니다.
-
기본값으로, 외부 변수를 더 이상 전역 변수로 등록하지 않습니다. 즉, PHP
» 4.2.0부터 php.ini에서의
PHP 설정 register_globals의
기본값이 off가 되었습니다. 이 값들에의 접근은
위에서 언급한 자동전역 배열을 이용하는 것을 권장합니다. 예전의
스크립트, 책, 그리고 튜토리얼은 이 설정을 on이라고 생각합니다. 예를
들어, 이 설정이 on이라면 누군가가 $id를 URL
http://www.example.com/foo.php?id=42처럼 사용할 수
있습니다. on/off에 관계 없이, $_GET['id']는 사용할
수 있습니다.
이 변화에 대한 자세한 내용은
예약 정의 변수 섹션과
그 안의 링크들을 참고하십시오.