[ php ] php 7.x에 대한 상수 정의( define( ) ) 부분에 관하여....... > php

본문 바로가기

사이트 내 전체검색

php

[ php ] php 7.x에 대한 상수 정의( define( ) ) 부분에 관하여.......

작성일 18-12-18 11:00

페이지 정보

작성자 웹지기 조회 8,382회 댓글 0건

본문

이제는 상수도 잘 사용해야 할 것 같습니다.


기존 php 5.x 이하버젼에서는 define('_GNUBOARD_', false); 일때는

defined('_GNUBOARD_') 출력하면 아무것도 뜨지 않았던 걸로 기억을 합니다.


7.X 버젼에서 define('_GNUBOARD_', false); 일때는

defined('_GNUBOARD_') 를 출력해보면 1이라는 숫자가 뜨는군요.

define('_TEST_',''); 빈값일때도 1을 출력하는군요


define('_GNUBOARD_', false);

echo "defined_GNUBOARD_ ::: ".defined('_GNUBOARD_')." ::: GNUBOARD ::: "._GNUBOARD_;

출력 : defined_GNUBOARD_ ::: 1 ::: GNUBOARD :::


define('_GNUBOARD_', true);

echo "defined_GNUBOARD_ ::: ".defined('_GNUBOARD_')." ::: GNUBOARD ::: "._GNUBOARD_;

출력 : defined_GNUBOARD_ ::: 1 ::: GNUBOARD ::: 1


define('_TEST_','');

echo "_TEST_ ::: ".defined('_TEST_')." ::: _TEST_ ::: "._TEST_;

출력 : _TEST_ ::: 1 ::: _TEST_ ::: 


상단에서 define('_INDEX_',TRUE); 와 같은 경우 index 페이지에서는

constant("_INDEX_") 의 값이 존재하지만,

서브페이지에서는 define('_INDEX_',TRUE);  또는 define('_INDEX_', FALSE);로 정의하지 않으므로

서브페이지에서 if(constant("_INDEX_")) 와 같은 구문은 오류가 발생한다.

true와 false의 구분은 defined('_INDEX_')의 값이 1이면 일단 상수에 대한 정의를 내린것으로 본다.

그래서 값이 1이 된다. 이러한 경우 CONSTANT() 함수의 사용은 가능하다.

하지만, 정의되지 않은 페이지에서 CONSTANT()함수를 사용하면 오류가 발생한다.

 

고로 상수를 정의 했다면 해당 상수명으로 조건문을 거시고 확인을 해야 할 것 같습니다.

그리고 정의되지 않은 상수사용도 더 조심해야 할 것 같습니다.


추천0

비추천 0

댓글목록

등록된 댓글이 없습니다.

전체 82건 1 페이지

이미지 목록

게시물 검색
Copyright © 즐거운 코딩 생활 ( funyphp ). All rights reserved.
PC 버전으로 보기