_common.php : common.php를 호출
하는 곳으로, 모든 디렉토리에서 같은 파일 이름을 씁니다.
_head.php : head.php를 호출
하는 곳으로, 모든 디렉토리에서 같은 파일 이름을 씁니다.
_tail.php : tail.php를 호출
하는 곳으로, 모든 디렉토리에서 같은 파일 이름을 씁니다.
common.php : 변수, 상수 설정 등 공통으로 사용하는 코드. 모든 작업에 있어서 반드시 include
해야 합니다.
config.php : 그누의 기본적인 변수, 테이블, 도메인
등을 정의 합니다.
dbconfig.php : 그누의 설치후에 생기는 것으로 mysql db 접속에 필요한 정보
가 있습니다. 그누를 재설치 하고자 하는 경우 이 파일을 지우고, install.bak을 install로 바꾸면 됩니다.
style.css : 그누의 기본 css 입니다.
head.php : 테마의 헤더 부분을 담당하는 필수 파일
로 head.sub.php 및 필요한 lib을 불러오고 상단 및 좌측 디자인이 있습니다.
head.sub.php : 모든 곳에서 공통으로 불러 쓰며 디자인이 없습니다.
index.php : 사이트 초기화면 _common.php, _head.php, _tail.php를 불러오고 메인 디자인이 있습니다.
tail.sub.php : 모든 곳에서 공통으로 불러쓰며 숨겨진 iframe, 접속접보 insert 등이 있습니다. 필수 파일은 아니며 푸터 부분에 테마만의 코드 넣는 등의 용도로 사용할 수 있습니다.
tail.php : tail.sub.php를 불러오고 테마의 푸터 부분을 담당하는 필수 파일입니다.
adm/ : 관리자 페이지
bbs/ : 그누의 기본 프로그램
cheditor4/ : 웹 편집기 (cheditor, http://www.chdcode.com)
extend/ : 그누를 설치하면 생기는 디렉토리로 이곳의 모든 파일은 common.php에서 읽습니다. 이곳에 파일을 넣으면 그누에서 항상 쓸 수 있어서 편하지만 그만큼 사이트의 속도를 떨어뜨리게 됩니다.
img/ : 그누의 기본 이미지
install/ : 설치 프로그램 디렉토리, 설치후에는 install.bak으로 바뀜.
js/ : 자바스크립트 디렉토리
lib/ : php 라이브러리 디렉토리
skin/ : 그누보드 스킨 디렉토리
skin/board/ : 게시판 스킨 디렉토리 (게시판 관리화면에서 지정)
skin/connect/ : 현재 접속자수 스킨 디렉토리 (관리자/기본환경설정에서 지정)
skin/latest/ : 최신글 스킨 디렉토리 (해당 함수를 호출할 때 지정)
skin/member/ : 회원정보 등록/수정 스킨 디렉토리. (관리자/기본환경설정에서 지정)
skin/new/ : 최근 게시물 스킨 디렉토리 (관리자/기본환경설정에서 지정)
skin/outlogin/ : 외부로그인 스킨 디렉토리 (해당 함수를 호출할 때 지정)
skin/poll/ : 투표스킨 디렉토리 (해당 함수를 호출할 때 지정)
skin/popular/ : 인기검색어 스킨 디렉토리 (해당 함수를 호출할 때 지정)
skin/search/ : 검색 스킨 디렉토리 (관리자/기본환경설정에서 지정)
skin/visit/ : 방문자수 스킨 디렉토리 (해당 함수를 호출할 때 지정)
readme.txt : 테마 이름, 버전, 라이선스 등의 정보를 담고 있는 파일입니다. 관리자 테마 설정에서 상세보기 내용이 담겨져 있습니다.
screenshot.png : 테마의 스크린샷입니다. 관리자 테마설정 페이지에서 설치된 테마의 이미지로 사용됩니다. png 파일만 사용이 가능합니다.
define()
PHP 문법에는 특정한 값을 대입하여 사용할 수 있는 변수와 상수가 있습니다.
변수는 말 그대로 변할 수 있는 값이며, 상수는 변하지 않는 값입니다.
PHP에서 상수를 정의하는 방법은 다음과 같습니다.
define(상수, 값, 대소문자구분)
define(name, value, case-insensitive)
define(name, value)
상수는 common 이나 header 등 모든 페이지에 삽입되는 공통문서 최상부에 정의하며 개별 페이지에 쓰지 않는다.
defined()
괄호 안의 내용(변수)이 상수로 설정되었는지 판단하는 함수
예제
<?php
define("SERVER_NAME", "My Homepage!");
if(defined("SERVER_NAME"))
{
$title = SERVER_NAME;
}
else
{
$title = "Hello world!";
}
echo $title;
?>
결과
My Homepage!
include()
와 require()
의 차이점함수 뒤에 _once가 붙게되면 똑같은 파일은 단 한번만 사용, 즉 나중에 다시 요청하더라도 로딩하지 않습니다.
사실 일반적인 경우 _once의 사용은 그리 큰 역할이 없습니다. 하지만 라이브러리를 통해 다수의 파일을 연결할 경우에는 혹시 모를 똑같은 리소스를 한번만 불러오도록 미리 방지할 수 있는 매우 유용한 함수입니다.