슈퍼 글로벌 변수

2015. 8. 7. 03:07프로그래밍/ETC

728x90
728x90

정의

PHP에 미리 정의되어 있는 변수로써, 영역에 상관 없이 무조건 사용할 수 있는 전역 변수


종류 
 $_GLOBALS
 $_SERVER
 $_GET
 $_POST
 $_FILES
 $_COOKIE
 $_SESSION
 $_REQUEST
 $_ENV

* 모든 슈퍼전역변수들은 대소문자를 구분하니 반드시 대문자로 표기해야 한다.

$_GLOBALS

 - 스크립트의 전역 유효 영역에서 쓸 수 있는 모든 변수에 대한 참조를 포함한다.

 - 이 배열의 key는 전역 변수들의 이름이다. 

   즉 모든 글로벌 변수들은 $GLOBALS[index]라고 불리는 배열에 저장된다.

 - PHP 3 버전 이후에 생긴 슈퍼전역변수이다.


$_SERVER

 - 웹서버나 현재 스크립트의 실행 환경에 직접적으로 관련되어 설정되는 변수

 - 헤더(header)와 패스(path), 스크립트 위치 등의 정보를 담고 있는 슈퍼 글로별 변수

 - PHP 4.1.0부터 지원되며, 이전 버전에서는 $HTTP_SERVER_VALS를 사용한다.


$_GET
 - HTTP GET에 의해 스크립트로 제공되는 변수
 - HTML 폼에서 “get 방법으로 전달된 폼 데이터를 모으는 데 널리 사용되며,
   또한 URL으로 보내진 데이터를 모으기 위해서도 사용된다.
 - PHP 4.1.0부터 지원되며, 이전 버전은 $HTTP_GET_VARS을 사용한다.

$_POST
 - HTTP GET에 의해 스크립트로 제공되는 변수
 - HTML 폼에서 “get 방법으로 전달된 폼 데이터를 모으는 데 널리 사용되며,
   또한 URL으로 보내진 데이터를 모으기 위해서도 사용된다.
 - PHP 4.1.0부터 지원되며, 이전 버전은 $HTTP_GET_VARS을 사용한다.

 다음 예제는 인풋(input)필드와 서브밋(submit) 버튼을 포함하고 있는 폼(form)이 있다.
 사용자가 Submit 버튼을 눌러서 데이터를 전달하면,
 <form> 태그에 있는 action 속성 안에 명시되어있는 파일로 폼 데이터가 보내진다.
 다음 예제에서는 폼 데이터를 처리하기 위하여 현재 이 파일 자체로 전달하게 되었다.
 만일 폼 데이터를 처리하기 위한 다른 PHP 파일을 사용하고 싶다면, 이 파일 이름을 변경하면 된다.
 그 다음, 인풋 필드의 값을 모으기 위하여 $_POST 슈퍼 글로벌 변수를 사용하였다. 

$_FILES
 - HTTP post 파일 업로드에 의해 스크립트로 제공되는 변수
 - PHP 4.1.0부터 지원되며, 이전 버전은 $HTTP_FILES_VARS을 사용한다.

$_COOKIE
 - HTTP 쿠키(Cookie)에 의해 스크립트로 제공되는 변수
 - PHP 4.1.0부터 지원되며,  이전 버전은 $HTTP_COOKIE_VARS을 사용한다.

$_SESSION
 - 스크립트의 세션에 등록되는 변수
 - PHP 4.1.0부터 지원되며, 이전 버전은 $HTTP_SESSION_VARS을 사용한다.

$_ENV
 - 환경에 의해 스크립트로 제공되는 변수
 - PHP 4.1.0부터 지원되며, 이전 버전은 $HTTP_ENV_VARS을 사용한다.

$_REQUEST
 - GET, POST, COOKIE 입력 메커니즘을 통해 스크립트로 제공되는 변수
 - HTML 폼으로부터 전달된 데이터를 모으는 데 이용된다.
 - 명확하고 안전한 사용을 위해 $_REQUEST는 사용하지 않는 것이 좋다.

“$_REQUEST와 $_GET 또는 $_POST 중 하나를 사용해야 한다면, $_REQUEST를 사용하지 않는 것이 좋다.”
(출처 : http://stackoverflow.com/questions/1924939/php-request-vs-get-and-post)

다음 예제는 인풋(input)필드와 서브밋(submit) 버튼을 포함하고 있는 폼(form)이 있다. 
 사용자가 Submit 버튼을 눌러서 데이터를 전달하면,  
 <form> 태그에 있는 action 속성 안에 명시되어 있는 파일로 폼 데이터가 보내진다. 
 이 예제에서는 폼 데이터를 처리하기 위하여 현재 이 파일 자체로 전달하게 하였다. 
 만일 폼 데이터를 처리하기 위한 다른 PHP 파일을 사용하고 싶다면, 이 파일 이름을 변경하면 된다.
 그 다음 인풋 필드의 값을 모으기 위하여 $_REQUEST 슈퍼 글로벌 변수를 이용하였다.


728x90
반응형