$write_table 을 사용하려면 어떻게 해야 하나요?
본문
잘되가다 이것때문에 막히게 생겨서 급히 질문을 드려봅니다^^
보통 게시판 스킨파일들에서는 $write_table 을 이용하면 get_write() 함수를 이용해서
현재 게시판에 대한 정보를 가져다 사용할수 있는데
그런데
게시판 스킨이 아닌 독립형 php 파일을 코딩할때 특정 게시판의 정보를 참조하고 싶을때에는
어떻게 해야 get_write() 함수를 이용할수 있는지 궁금합니다.
불러올 게시판 테이블이 유동적일 수 있습니다.
그렇기 때문에 직접적인 쿼리는 불가능하구요
DB에 저장된 bo_table 명을 가져다 사용 할 수 있도록 설계되어있습니다.
혹시나 해서
상단에 $bo_table 값을 지정해주고 get_write($write_table,"필드명1,필드명2..");
이런식으로 해줬더니 아무것도 가져오질 못하네요
혹시 $write_table 변수 정의를 해줘야 하는건가요?
해줘야 되면 어떻게 해줘야 할까요?
답변 2
그누보드5 루트 디렉토리에 들어있는데 common.php 파일을 include 시켜야 합니다.
include_once('./common.php');
또는
include_once('./_common.php');
입니다.
폴더 위치가 다른 경우에는
include_once('../common.php');
include_once('../../common.php');
이런 형태로 상대경로를 넣으셔도 될 듯 합니다.
아쉽게도
include_once(G5_PATH.'/common.php'); 는 사용할 수 없는데요.
왜냐하면 G5_PATH 라는 디파인 상수는 common.php 에서 디파인 되기 때문에
common.php 를 include 시킨 후에 사용가능하기 때문입니다.
get_write() 가 선언된 function 을 불러오는 방법과
다시 선언하는 방법이 있습니다.
function call 을 하게 된다면 우선 get_write() 가 선언된 class 를 인클루드 하는방법이 있구요.
이 부분은 재사용성으로 인해 개발이 편할것입니다.
그게 아니라 다시 선언한다면 get_write() 에 선언된 내용을 그대로 copy 하셔서 현재 작업하시는 부분에 첨부 하시면 됩니다.
기존 테이블의 연동성 처럼 사용을 하시고 싶으시다면 제가 생각했을때
현재 그누에서 사용하는 부분을 base class 로 선언하고
각각 작업하는 부분에 각각의 클래스를 선언 해당 base class 를 extension 하는게 좋을거 같네요.
(이후 추가 구현에도 편리해지고)