php에서 상수 정의 define();

조회 수 27497 추천 수 0 2007.07.29 16:02:17

[출처] : http://cafe.naver.com/apachecafe.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=58 

상수의 정의는 '$' 를 붙이지 않는다.

 

_LINE_

     > 현재 실행되고있는 문서의 라인번호.

PHP_VERSION

     > php 버전

PHP_OS

     > 컴퓨터 버전

TRUE

     > 참의 값

FALSE

     > 거짓값

 

     >> 다음은 error_reporting() 함수에 비트값 대신 사용하는 상수. E_... 로 시작하는 상수.

E_ERROR

E_WARNING

E_ERROR
E_PARSE
E_CORE_ERROR
E_COMPILE_ERROR
E_USER_ERROR
E_USER_NOTICE
E_WARNING
E_NOTICE
E_CORE_WARNING
E_COMPILE_WARNING
E_USER_WARNING

 

등등이 있다.

 

위의것은 기본적으로 정의 된 상수이고, 사용자 상수를 만들 시에는

define("constVar", "constValue");

라는 식으로 define 함수를 사용한다.

물론 다음과 같이 $를 붙이지 않고 사용한다.

 

echo constVar;

---------------------------------------------------------------------------------------------------------------

http://cafe.naver.com/qna1000.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1201

상수의 특징
1. 상수는 알아보기 쉽게 대소문자를 구분하여 사용하는게 관례
2. 변수와 달리 $표시 없이 사용가능
3. 대소문자를 구분하여 인식하므로 주의
4. 대소문자를 구분하고 싶지 않다면
=>define("SANGSU1","SANGSU1_constants",TRUE); 이렇게 정의
하면 되고 TRUE가 없다면 default(기본값) FALSE입니다.
만약 FALSE로 하고 싶다면 그냥 안쓰면 되겠죠!

---------------------------------------------------------------------------------------------------------------


글쓴이 : 지돌스타(http://blog.jidolstar.com/121  )

우리는 보통 php 프로그래밍을 할때 변하지 말아야할 상수도 변수처럼 사용할때가 많다.

$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];

$DOCUMENT_ROOT는 절대 변경되어지지 않는 값이어야 한다.
하지만 변수값으로 정의했기 때문에 변경될 소지는 충분히 있다.


$DOCUMENT_ROOT = $_POST['MyPath'];

누가 이런식으로 프로그램 짜겠냐만은 내가 여러 사람이 프로젝트하다보면
이런 경우가 일어날 수도 있는 법이다. 절대 없다고 단정짓지 말자!

그러므로 상수인 경우 다음과 같이 설정하는 것이 좋겠다.

define("DOCUMENT_ROOT", $_SERVER['DOCUMENT_ROOT']);

echo DOCUMENT_ROOT;
처럼 사용할 수 있으며
다시

define("DOCUMENT_ROOT", "/home/aaa/");

를 하면 에러가 발생하지만 첫번째로 설정한 DOCUMENT_ROOT값이 변경되지는 않는다.

 
문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
12 파일 등록시 특수문자 걸러서 등록하기 [레벨:30]똑띠 2009-01-14 13247
11 숫자를 통화 단위 형태로 보여주기 [1] [레벨:30]똑띠 2008-12-24 13715
10 explode() - 구분자 기준으로 문자 배열처리 [레벨:30]똑띠 2008-10-20 17657
9 Callback 함수란? [레벨:30]똑띠 2008-07-31 25782
8 Type변환 [2] [레벨:30]똑띠 2008-03-01 28012
7 foreach 예제 [레벨:30]똑띠 2007-10-17 30520
6 클래스(class)에서 지시자(->)의 의미 [1] [레벨:30]똑띠 2007-07-27 26590
5 클래스( Class ) 사용을 위한 기본 지식 [2] [레벨:30]똑띠 2007-07-16 30194
4 unset(); 에 대해서 알아보장.. [레벨:30]똑띠 2007-07-29 27615
3 foreach문 사용법에 대하여 [2] [레벨:30]똑띠 2007-07-29 38213
» php에서 상수 정의 define(); [레벨:30]똑띠 2007-07-29 27497
1 for 문 사용법 [2] [레벨:30]똑띠 2007-01-29 28274