Superglobals
프로그래밍에서 슈퍼글로벌(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에 해당됩니다.
| 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 |
|
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 |
|
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 |