불

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

· 2018-12-18 (화) 10:52:14 · 1466 · 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개

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

자유게시판

203,029건
+
제목 글쓴이 날짜 조회
18-12-19 조회 1,694
18-12-19 조회 1,498
18-12-19 조회 1,386
18-12-18 조회 1,966
18-12-18 조회 1,716
18-12-18 조회 1,408
18-12-18 조회 1,984
18-12-18 조회 2,454
18-12-18 조회 2,294
18-12-18 조회 1,400
18-12-18 조회 1,467
18-12-18 조회 2,803
18-12-18 조회 1,288
18-12-18 조회 1,308
18-12-18 조회 1,318
18-12-18 조회 1,620
18-12-18 조회 1,443
18-12-18 조회 1,384
18-12-17 조회 1,332
18-12-17 조회 1,328