그누보드와 PHP

summer_joy·2022년 8월 3일
0

그누보드 파일 구조

기본파일

  • _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 파일만 사용이 가능합니다.


PHP 함수

define() 함수

define()

PHP 문법에는 특정한 값을 대입하여 사용할 수 있는 변수와 상수가 있습니다.
변수는 말 그대로 변할 수 있는 값이며, 상수는 변하지 않는 값입니다.

PHP에서 상수를 정의하는 방법은 다음과 같습니다.

define(상수,, 대소문자구분)
define(name, value, case-insensitive)
define(name, value)

상수는 common 이나 header 등 모든 페이지에 삽입되는 공통문서 최상부에 정의하며 개별 페이지에 쓰지 않는다.

defined() 함수

defined()

괄호 안의 내용(변수)이 상수로 설정되었는지 판단하는 함수

예제

<?php 
define("SERVER_NAME", "My Homepage!");

if(defined("SERVER_NAME"))
{
  $title = SERVER_NAME;
}
else
{
  $title = "Hello world!";
}

echo $title;
?>

결과

My Homepage!

include(), require() 함수

  1. include()require()의 차이점
  • include()는 해당하는 파일이 없을 경우 사용자에게 간단한 경고 표시만 하고 페이지는 계속 로딩됩니다.
  • require()를 사용할 경우 그 즉시 스크립트를 중단하고 치명적인 에러를 표시하게 됩니다.
  1. _once의 유무에 따른 차이점
  • 함수 뒤에 _once가 붙게되면 똑같은 파일은 단 한번만 사용, 즉 나중에 다시 요청하더라도 로딩하지 않습니다.

  • 사실 일반적인 경우 _once의 사용은 그리 큰 역할이 없습니다. 하지만 라이브러리를 통해 다수의 파일을 연결할 경우에는 혹시 모를 똑같은 리소스를 한번만 불러오도록 미리 방지할 수 있는 매우 유용한 함수입니다.

profile
💻 Hello world

0개의 댓글