외부 변수 사용법 / 일반 변수의 규칙에 대해서 정리한다.
- 외부 변수 사용법
미리 정의된 변수는 서버 종류, 버전 등이나 기타 환경에 따라 변하는 변수를 의미하고
아파치 홈페이지나 phpinfo() 함수로 확인이 가능하다.
$_GET HTTP GET 방식으로 넘어온 변수
$_POST HTTP POST 방식으로 넘어온 변수
$_COOKIE HTTP 쿠키 변수
$_FILES 업로드시 파일 정보 변수
$_SESSION 세션 변수
$_SERVER 웹서버와 PHP 환경에서의 환경 설정 변수
- 외부로부터의 변수
내부에서 선언없이 외부로부터 넘어오는 값을 그대로 사용하는 변수이다.
외부 변수들에 대해서 php 사이트를 보면 더 자세한 내용을 참고 할수 있다.
http://php.net/manual/kr/language.variables.external.php
( 외부 변수를 이용해서 따로 변수를 선언하지 않고 값을 가져와서 이용할 수 있다 )
( 'hello'라는 값을 입력해서 보내주면 $PHP_SELF를 사용했기 때문에 자기 자신의 파일로 정보를 보내게 된다 )
( info라는 이름의 input 박스를 통해서 넘어온 정보가 $_POST["info"]에 자동 저장되므로 이 값을 출력 해준것이다 )
* php.ini 파일에서 register_globals=off 설정을 on으로 바꿔주고 $_POST["info"] 대신에 $info로 이용할수도 있다.
( register_globals 옵션은 환경, GET, POST, 서버 변수를 전역 변수로 만들지 설정하는 옵션이다 )
* 해당 옵션이 off인 경우에는 위 그림에 설명된 방법처럼 $_POST[""]와 같은 방법을 이용해도 되고
아니면 아래와 같은 방법을 사용해도 된다.
extract($_POST);
extract($_GET);
extract($_SERVER);
?>
- 일반변수의 규칙
( 프로그래머가 임의적으로 만들어 쓰는 변수 )
1. 영문 소/대문자, 숫자, _(밑줄)로 이루어지고 이외의 문자를 포함하면 에러 발생
2. 소문자 대문자 구별이 있지만 PHP 내장함수는 제외한다.
( 예를 들어서 print(""); 와 Print("");는 같게 취급된다 )
3. 변수는 반드시 $로 시작한다.
4. 변수의 첫 문자는 숫자가 올수 없다.
불허 : babo? , 4php , linux-apache-php-MySQL
* php에서는 Unicode 변수를 허용하기 때문에 한글 변수명도 가능하다.
- 변수의 범위와 상수
- global( 전역변수 )
* 전역변수는 global을 이용하게되고 global을 이용하면 함수 안에서도 밖에 있는
변수의 값을 가져와 사용할 수 있게 된다.
- static( 정적변수 )
* 정적변수는 그 지역 안에서는 변수가 해당 값을 계속해서 유지하고 있는 상태로
함수를 재호출 했을때도 그 값이 남아있는 변수를 의미한다.
- define( 상수 )
* 항상 똑같은 값을 가지는 변하지 않는 값을 의미하고 변수처럼 $를 표기하지 않는다.
* define("상수명", "상수에 저장될 값");
* PHP에서는 PHP_VERSION(현재 PHP 버전), PHP_OS(현 시스템의 운영체제),M_PI(원주율)등의
미리 일정의 상수를 정의해두었다.
( 코드와 결과를 참고하면 global과 static이 어떤식으로 동작하는지 이해하기 쉽다 )
( 상수의 경우에는 define으로 정의해주고 사용방법은 일반 변수와는 다르게 $를 붙이지 않고 사용해준다 )
'프로그래밍 > PHP' 카테고리의 다른 글
[PHP] 방명록 만들기 (0) | 2017.08.06 |
---|---|
[PHP] 함수 / 카운터 만들기 / 파일 핸들링 개념 (0) | 2017.08.06 |
[PHP] 연산자 / 제어구조 ( if, while, do.. while, continue, break, switch, include, require, return ) (0) | 2017.08.01 |
[PHP] 기초문법 - 변수 / 객체에 대한 개념 (0) | 2017.07.29 |
[PHP] APM 설치 / 동작방식 / 기초문법 및 주석 (0) | 2017.07.28 |
댓글