테스트 사이트 - 개발 중인 베타 버전입니다

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

· 6년 전 · 1200 · 6

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

 

기존 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_ ::: 

 

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

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

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

어휴~ 머리 아퍼 오네요....ㅠㅠ
@亞波治 저도 써보고 조금 당황했습니다.
php 5.x까지 묵인되던 오류에 대한 관행이 php 7.x에서 사라지는 거군요.
@해피정 아 묵인되었던 상황이였군요.
앞으로는 저도 constant( ) 를 통한 확인으로 변경해야겠습니다.
@불량학생™ PHP 가 오류에 무척 관대한 프로그램이라서요
호환성을 최대한 유지하려는 의미이지만.
7.x 부터는 그 유연함이 줄어드는 느낌입니다.
@해피정 FM이라는건 항상 필요한거니까요...

게시판 목록

자유게시판

글쓰기
🐛 버그신고