그누보드 include_once('_common.php'); 질문이요~

그누보드 include_once('_common.php'); 질문이요~

QA

그누보드 include_once('_common.php'); 질문이요~

본문

theme/basic 의 index.php에서는 include_once('_common.php'); 이걸 입력 안해도 화면이 보이는데

루트단에 aaa라는 폴더 만들고 그 안에 index.php 만든다음

사이트에서 ~/aaa 라고 쳐서 들어가면 아무것도 표시 안되고

include_once('_common.php'); 이걸 입력해야 표시가 되는데

 

루트단에 폴더 만들어서 index.php 작성하는것과

theme/basic의 index.php 와 다른점이 뭔가요?

theme/basic 이건 테마로 지정을 하기 때문에 include_once('_common.php');  이게 없어도 보이는건가요?

루트단에 폴더 만들어서 작업하는건 테마로 지정을 못하기 때문에 include_once('_common.php'); 이게 필요한 거구요???

이 질문에 댓글 쓰기 :

답변 2

예를 하나 들겠습니다.

최상위에 common.php 가 있습니다.

이걸 써야 모든게 돌아 갑니다.

폴더를 만들고 또 그 폴더안에 폴더를 만들어 100의 파일을 만들었다고 가정 합시다.

해당 파일들에서 최상위의 common.php를 사용하기 위해서는

common.php 가 있는 지점을 알아야 호출해서 사용 할 수가 있습니다.

../../ 뭐 이런식으로 표기를 한는데 이런걸 경로, 그 중에서도 상대경로라고 합니다.

이런거 걍 무시하더라도

폴더의 파일 안에 100여개의 파일이 존재하고 그 파일 최 상단에 ../../common.php 를 넣어야

해당 파일에서 common.php를 사용할 수 있게 됩니다.

근데 폴더 안의 폴더에서 그 상위 폴더로 파일을 옮겨야 되는 일이 생겼습니다.

그럼 해당 파일 옮기고 각 파일마다 ../../common.php 를 ../common.php 로 변경해야 합니다.

뭐 일괄로 할 수는 있으나 귀찮은 일이죠.

근대 만약에 해당 파일 상단에 ./_common.php 로 해 놓은 상태라면

첫번째 폴더로 옮기던 폴더에 폴더에 폴더안에 옮기던

_common.php 하나만 열어서 ../../common.php 를 ../common.php 로 수정해 주면 되니

얼마나 편할까요?

일단 _common.php 의 존재 이유는 이렇고

 

theme/basic 의 index.php 는 _common.php가 필요 없습니다.

최상단의 index.php에서 이미 _common.php 를 불러오고 그 이후에 테마 사용 유무에 따라

theme/basic 의 index.php 를 불러오기 때문입니다.

이미 구조상 별도의 추가 작업 없이 구동 되도록 되어 있는 겁니다.

개인적으로 만드신 aaa 폴더에선 당연히 추가 작업을 해 주셔야 동작이 되실겁니다.

 

테마가 적용되기 이전에는 루트에서 모든 작업이 이뤄졌습니다.

테마가 적용된 이유는 쉽게 디자인을 교체하기 위함입니다. 

어느 폴더에 작업을 하시더라도 테마로 지정을 하는건 가능합니다.

단 이미 지정되어 있는 테마관련 환경변수들을 모두 수정해 주셔야 합니다.

theme 폴더에 폴더를 만들어서 제작 하시면 그런 수고를 하실 필요가 없습니다.

 

짐작컨데 디자인 작업시 경로 때문에 애를 먹고 계신듯 한데...

관리자 페이지 가셔서 테마 미적용 하신 후 

편하게 루트에서 바로 작업을 하셔도 됩니다.

자세한 답변 감사합니다~
테마의 index.php는 이미 루트단에서 _common이 적용되어 있던거였군요.
전 테마에 있는 index.php는 _common이 없는데 어떻게 작동을 하는지 궁금했었는데
이런 이유가 있었군요.

테마안에 베이직은 결국 호출해서 사용하는것이기때문에 루트단에 어느곳에서 테마의 베이직에 index.php 를 호출하는경우로 이미 그 부모(?)에 include_once 가 존재 할겁니다.

 

하지만 @morrie 님 말씀대로 그냥 루트에 폴더 만들고 index.php 해서 common.php를 호출 하지 않은 형식으로 코드를 짰다면 당연히 문제가 되겠지요??ㅎㅎ

 

답변을 작성하시기 전에 로그인 해주세요.
전체 2

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT