ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 킴스큐Rb에서 미리 정의된 PHP 변수와 활용
    웹개발 (킴스큐Rb) 2011. 8. 4. 17:09
    기본적으로 Rb 루트 경로의 _var, 또는 각 모듈 경로의 var 폴더를 살펴보면 해당 모듈이 어떤 변수들을 사용하고 있는지 짐작할 수 있다. 그치만 대충 정리를 해보고자 한다.

    rb 폴더의 상위 경로는 사용자 환경마다 다르므로 생략한다.


    rb/_var/table.info.php

    rb에서 사용하는 MySQL 테이블의 이름이 정의 되어 있다. 즉, 아래 어레이 변수 중 하나를 파라미터로 'rb/_core/function/db.mysql.func.php' 파일의 'getDbSelect($table,$where,$data)' 또는 'getDbUpdate($table,$set,$where)' 등을 호출하면 DB 관련 처리를 할 수 있다는 뜻.

    <?php

    $table['s_module'] = "rb_s_module";

    $table['s_admpage'] = "rb_s_adminpage";

    $table['s_mobile'] = "rb_s_mobile";

    $table['s_domain'] = "rb_s_domain";

    $table['s_menu'] = "rb_s_menu";

    $table['s_page'] = "rb_s_page";

    $table['s_site'] = "rb_s_site";

    $table['s_popup'] = "rb_s_popup";

    $table['s_mbrid'] = "rb_s_mbrid";

    $table['s_mbrdata'] = "rb_s_mbrdata";

    ...

    ?>

    "인터넷 없이는 쿼리 작성도 못하면서 이러고 있다;;"


    rb/layouts/default/_main.php

    기본 레이아웃에서 모듈 또는 위젯의 보임/숨김 여부와 게시물의 출력 개수가 정의 되어 있다.

    <?php

    $d['layout']['menunum'] = 7; //메인메뉴를 몇개까지 출력할 것인가? 메인메뉴가 설정갯수 이상이면 [더보기] 메뉴출력 

    $d['layout']['noticenum'] = 3; //공지사항 출력수

    $d['layout']['postnum'] = 5; //최근게시물 출력수

    $d['layout']['commentnum'] = 5; //최근댓글 출력수


    //변수순서를 바꾸면 출력순서가 변경됩니다.

    $d['layout']['show']['login'] = 1; //로그인폼(출력=1,감춤=0)

    $d['layout']['show']['notice'] = 0; //공지사항(출력=1,감춤=0)

    $d['layout']['show']['photo'] = 1; //최근사진(출력=1,감춤=0)

    $d['layout']['show']['tag'] = 0; //태그(출력=1,감춤=0)

    $d['layout']['show']['post'] = 1; //최근게시물(출력=1,감춤=0)

    $d['layout']['show']['comment'] = 0; //최근댓글(출력=1,감춤=0)

    ...

    ?>



    여기서 좀 짚고 넘어가자면, Rb는 모든 웹페이지 요청에 대해 결국 index.php라는 하나의 파일로 처리한다. 메인 페이지나 소개 페이지, 갤러리 게시판을 포함한 페이지 등 보여지는 모든 것은 index.php라는 파일로 처리되는 것이다. (동영상 강의 정독, 아니 정시청? 하면서 그렇게 배웠는데... 기억이 맞다면, 후후)

    따라서 우리가 사용하려는 변수나 이미 Rb에 정의된 변수는 index.php의 코드가 무조건 알고 있어야 한다.

    위 첫번째 $table 어레이 같은 경우 index.php의 다음 굵은 코드에 의해서 로드 되며,

    include_once $g['path_var'].'db.info.php';

    include_once $g['path_var'].'table.info.php';

    include_once $g['path_core'].'function/db.mysql.func.php';

    include_once $g['path_core'].'function/sys.func.php';


    두번째 $d['layout']의 경우 역시 index.php의 다음 코드에 의해 로드 되는데...

    $d['layout']['var'] = $g['path_layout'].$d['layout']['dir'].'/_main.php';
    ...
    if (is_file($d['layout']['var'])) include_once $d['layout']['var'];




    아... 쓰다가 보니 아무래도 index.php를 먼저 파야할 것 같아서 현재 포스팅은 작성 보류!
Designed by Tistory.