불

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

· 2018-12-18 (화) 10:52:14 · 1490 · 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이라는건 항상 필요한거니까요...
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

203,257건
+
제목 글쓴이 날짜 조회
18-12-19 조회 1,314
18-12-19 조회 2,314
18-12-19 조회 1,293
18-12-19 조회 1,377
18-12-19 조회 1,193
18-12-19 조회 1,320
18-12-19 조회 1,309
18-12-19 조회 1,479
18-12-19 조회 1,723
18-12-19 조회 1,521
18-12-19 조회 1,410
18-12-18 조회 1,992
18-12-18 조회 1,731
18-12-18 조회 1,430
18-12-18 조회 2,014
18-12-18 조회 2,474
18-12-18 조회 2,319
18-12-18 조회 1,425
18-12-18 조회 1,491
18-12-18 조회 2,825