Loading

블로그채널

Search !

[PHP] 강좌 #17 슈퍼 글로벌 변수


PHP 5 Global Variables – Superglobals

글로벌 변수 – superglobals

PHP에는 미리 정의된 몇 개지 변수가 있습니다. 이것을 superglobals라 부릅니다. 예전에 글로벌변수와 로컬 변수에 대해 살펴보았는데요, 영역이 있었고 그 영역에 해당하지 않으면 특수한 방법을 사용해서 연결시켰습니다. superglobals는 묻지도 따지지도 않고 영역에 상관없이 무조건 사용할 수 있는 글로벌 변수입니다. 

 

PHP 슈퍼 글로벌 변수는 다음과 같습니다.

 

$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE 
$_SESSION

 

[PHP] 강좌 #17 슈퍼 글로벌 변수

[PHP] 강좌 #17 슈퍼 글로벌 변수

PHP $GLOBALS
예전에 배운 $GLOBALS[index] 배열 기억나시나요? global 변수를 찾아주는 역할을 한 함수였죠. 예제를 보면 기억이 날겁니다. $GLOBALS이 superglobals이기 때문에 아무 영역에 상관없이 사용할 수 있다는 게 이 예제의 핵심입니다. 

$x = 1; 
$y = 2;
 
function addition() { 
    $GLOBALS[´z´] = $GLOBALS[´x´] + $GLOBALS[´y´]; 
}
 
addition(); 
echo $z; 

PHP $_SERVER
$_SERVER 배열이자 super global 변수입니다. $_SERVER를 사용하면 서버에 대한 정보를 찾아올 수 있어요. 그뿐만 아니라 $_SERVER 변수를 통해 사용자가 PC에서 접속했는지 서버에서 접속했는지 알 수 있습니다. 

echo $_SERVER[´PHP_SELF´]; // 현재 실행중인 파일 이름을 돌려줍니다.
echo "<.br.>"; 
echo $_SERVER[´SERVER_NAME´]; // 호스트 서버 이름, 예: blogmoney.com
echo "<.br.>"; 
echo $_SERVER[´HTTP_HOST´]; // 현재 request에 대한 호스트 헤더를 돌려줍니다.
echo "<.br.>"; 
echo $_SERVER[´HTTP_REFERER´]; // 현재 페이지의 URL 전부를 돌려줍니다.
echo "<.br.>"; 
echo $_SERVER[´HTTP_USER_AGENT´]; // 사용자의 브라우저 정보를 알 수 있습니다. 이를 통해 모바일인지 PC 접속인지 알 수 있습니다. 
echo "<.br.>"; 
echo $_SERVER[´SCRIPT_NAME´]; // 현재 실행중인 스크립트의 절대 주소를 돌려줍니다.

출력 결과는 다음과 같습니다. 

1: /php/demo_global_server.php
2: www.w3schools.com
3: www.w3schools.com
4: http://www.w3schools.com/php/showphp.asp?filename=demo_global_server
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36
5: /php/demo_global_server.php

필요할 때 우리는 슈퍼 글로벌 변수를 위와 같이 사용할 수 있습니다. 기본적인 내용은 Tutorial은 17강을 마지막으로 마칩니다.

수고 많으셨습니다.

다음은 좀 더 재미있는 예제를 다루어 볼 것입니다. 예를 들면 클라이언트에서 메시지를 보내면 서버에서 받아 다시 가공해서 보내주는 그런 재미있는 예제를 다루어 볼 예정입니다.

걸스데이의 축하 공연이 있겠습니다.^^