Skip to content

PHP

Superglobals

Author
siwon
Date
2023-08-17 01:11
Views
815

프로그래밍에서 슈퍼글로벌(Superglobals)은 스크립트 내의 어떤 범위에서도 접근 가능한 미리 정의된 변수 집합을 의미합니다. 이러한 변수들은 다양한 문맥에서 사용 가능하며, 폼 데이터, 서버 정보, 세션 데이터 등과 같은 중요한 정보를 포함하고 있습니다. 슈퍼글로벌은 "슈퍼"라고 불리는 이유는 명시적으로 선언하거나 함수 인수로 전달할 필요 없이 자동으로 사용 가능하기 때문입니다.


PHP에서는 여러 가지 슈퍼글로벌 변수를 사용할 수 있습니다:


1. **$GLOBALS:** 전역 범위에서 현재 정의된 모든 변수에 대한 참조를 가지고 있는 연관 배열입니다.


2. **$_SERVER:** 서버에 관한 정보를 담고 있는 배열로, 서버 경로, 헤더, 스크립트 위치 등이 포함됩니다.


3. **$_REQUEST:** `$_GET`, `$_POST`, `$_COOKIE` 슈퍼글로벌 변수의 데이터를 합친 연관 배열입니다.


4. **$_GET:** HTTP GET 메서드를 통해 스크립트로 전달된 데이터를 포함하는 연관 배열입니다.


5. **$_POST:** HTTP POST 메서드를 통해 스크립트로 전달된 데이터를 포함하는 연관 배열입니다.


6. **$_FILES:** HTTP POST를 통해 업로드된 파일에 대한 정보를 담고 있는 연관 배열입니다.


7. **$_ENV:** 환경 변수를 담고 있는 연관 배열입니다.


8. **$_COOKIE:** 스크립트로 전달된 쿠키를 담고 있는 연관 배열입니다.


9. **$_SESSION:** 세션 변수를 담고 있는 연관 배열입니다.


10. **$_REQUEST:** `$_GET`, `$_POST`, `$_COOKIE` 슈퍼글로벌 변수의 데이터를 담고 있는 연관 배열입니다.


11. **$php_errormsg:** 마지막으로 생성된 오류 메시지를 담고 있습니다.


이 슈퍼글로벌 변수들은 변수를 명시적으로 관리하거나 전달할 필요 없이 개발자들이 중요한 정보에 접근할 수 있도록 돕습니다. 하지만 이들은 전역적으로 접근 가능하기 때문에, 보안 취약점을 방지하기 위해 사용자 입력을 유효화하고 필터링하는 것이 중요합니다.

슈퍼글로벌 변수는 특정 프로그래밍 언어에만 해당되며, 언어마다 이름과 동작이 다를 수 있습니다. 여기 제시한 예제는 주로 PHP에 해당됩니다.

Total 0

Total 45
Number Title Author Date Votes Views
15
http request form method GET POST
siwon | 2023.08.17 | Votes 0 | Views 1414
siwon 2023.08.17 0 1414
14
printf()
siwon | 2023.08.17 | Votes 0 | Views 1071
siwon 2023.08.17 0 1071
13
heredoc 또는 nowdoc 구문
siwon | 2023.08.17 | Votes 0 | Views 1069
siwon 2023.08.17 0 1069
12
single vs double quotes
siwon | 2023.08.17 | Votes 0 | Views 904
siwon 2023.08.17 0 904
11
string functions
siwon | 2023.08.17 | Votes 0 | Views 1050
siwon 2023.08.17 0 1050
10
return types
siwon | 2023.08.17 | Votes 0 | Views 1226
siwon 2023.08.17 0 1226
9
date(), time() funtions
siwon | 2023.08.17 | Votes 0 | Views 1188
siwon 2023.08.17 0 1188
8
Superglobals
siwon | 2023.08.17 | Votes 0 | Views 815
siwon 2023.08.17 0 815
7
scalar types
siwon | 2023.08.17 | Votes 0 | Views 916
siwon 2023.08.17 0 916
6
constructor
siwon | 2023.08.16 | Votes 0 | Views 990
siwon 2023.08.16 0 990
5
composition vs inheritance
siwon | 2023.08.16 | Votes -1 | Views 1193
siwon 2023.08.16 -1 1193
4
polymorphism = method overriding => abstract(추상화)와 관련있음
siwon | 2023.08.16 | Votes 0 | Views 1155
siwon 2023.08.16 0 1155
자식 class가 부모와 같은 method를 가질경우 자식 class의 메소드가 우선한다는 원칙
siwon | 2023.08.29 | Votes 0 | Views 1210
siwon 2023.08.29 0 1210
3
encapsulation
siwon | 2023.08.16 | Votes -1 | Views 919
siwon 2023.08.16 -1 919
private, protected등 access modifier를 사용하여 property나 method의 접근을 제한 하는 oop 원칙
siwon | 2023.08.30 | Votes 0 | Views 1072
siwon 2023.08.30 0 1072
2
inheritance
siwon | 2023.08.16 | Votes 0 | Views 854
siwon 2023.08.16 0 854
1
object와 class의 차이점
siwon | 2023.08.16 | Votes 0 | Views 1145
siwon 2023.08.16 0 1145