php 5.3 이후로 상수를 정의하는 방법에는 두 가지가 있다. 5.3 이전에는 const는 글로벌로 이용할 수 없었다.
const를 이용하는 방법과 define을 이용하는 방법이 있으며, 다음과 같이 정의 내린다.
const FOO = 'BAR'; define('FOO', 'BAR);
가장 근본적인 차이점은 const는 컴파일 타임에서, define은 런타임에서 정의가 내려진다는 점이다.
따라서 const는 조건문에서 이용할 수가 없다. 즉, 미리 정의가 내려지지 않는 상수는 define을 이용해서
if (!defined('FOO')) { define('FOO', 'BAR'); }
같은 방법이 가능하다.
또한 당연히 const는 scalar값만 받을 수 있다.
상수를 정의하는 이유에 충실하자면 const가 조금더 정확하고 퍼포먼스에서도 낫다고 본다. const를 이용하는 것이 상수가 많은 경우에는 두배 이상 코드를 더 빨리 해준다고도 한다.
'Dev > php' 카테고리의 다른 글
[php] a href tag에서 url만 추출하고 <a> tag 제거 (0) | 2014.08.11 |
---|---|
정규식 Regular expression 이용한 url 추출 (0) | 2014.08.06 |
variable variables, 변수명을 runtime에 지정 (0) | 2014.02.14 |
php에서 SESSION에 object 저장하기 (0) | 2014.02.13 |
php - mySql 한글 깨짐 현상 (0) | 2014.02.12 |