define('_GNUBOARD_', true); 질문요
본문
define('_GNUBOARD_', true);을 config.php 파일에서 정의했나본데
그리고 이 것이 정의되지 않은 페이지는 별도로 실행할수 없게 했나본데
1. 개별페이지 접근불가를 나타내는 if (!defined('_GNUBOARD_')) exit;
이 코드는 언제 쓰는지?
2. 개별페이지 접근을 할 수 있는 페이지는 어떤 경우에 접근할수있게 하는지?
3. 개별적으로 접근할 수 있는 페이지는 define('_GNUBOARD_', true);가 적혀있는 config.php 를 include 하면 되는지?
4. define('_GNUBOARD_', true);는 config.php 파일 한개만 정의되어있고 다른 파일은 없습니까?
만일 있다면 어떤 파일들에 있을지 궁금합니다^^
답변 1
define('_GNUBOARD_', true); 에서 _GNUBOARD_라는 부분은 상수값입니다.
상수값은 변수와는 달리 한번 선언하면 항상 그대로 유지되는 값이고요. 일반적으로 변수선언과는 달리
상수는 대문자를 사용합니다.
1. if (!defined('_GNUBOARD_')) exit; 은 말 그대로 _GNUBOARD라는 상수값이 선언되어 있지 않다면 구문을 종료한다는 것이죠. 더 이상 페이지 실행이 되지 않도록 하는 겁니다. 즉, 페이지 접근을 막는 것이 되겠죠.
2. include_once('./_common.php'); 가 선언되지 않다면 개별 페이지 접근이 가능하지만 그렇게 된다면 그누보드 관련 페이지가 아닐 경우 사용할 수 있겠지요. 즉, 사이트와 연관이 없는 경우 사용할 수 있겠지요.
3. include_once('./_common.php'); 로 선언하면 됩니다. _common.php가 인클루드 되면 _common.php파일에서는 common.php파일을 인클루드 하고 있고, common.php파일에서는 config.php파일을 인클루드 하고 있습니다.
4. 네. config.php파일에서 상수값이 선언되고 있고 위에 설명처럼 이것을
include_once('./_common.php'); 로 인클루드 시키고 있습니다.