bbs/list.php 모듈화 > 자유게시판

자유게시판

bbs/list.php 모듈화 정보

bbs/list.php 모듈화

본문

오랜 기간 어쩌다 고민했던 내용인데

bbs/list.php만 예를 들면

 

// 분류 사용 여부
$is_category = false;
$category_option = '';
if ($board['bo_use_category']) {
    $is_category = true;
    $category_href = get_pretty_url($bo_table);

    $category_option .= '<li><a href="'.$category_href.'"';
    if ($sca=='')
        $category_option .= ' id="bo_cate_on"';
    $category_option .= '>전체</a></li>';

    $categories = explode('|', $board['bo_category_list']); // 구분자가 , 로 되어 있음
    for ($i=0; $i<count($categories); $i++) {
        $category = trim($categories[$i]);
        if ($category=='') continue;
        $category_option .= '<li><a href="'.(get_pretty_url($bo_table,'','sca='.urlencode($category))).'"';
        $category_msg = '';
        if ($category==$sca) { // 현재 선택된 카테고리라면
            $category_option .= ' id="bo_cate_on"';
            $category_msg = '<span class="sound_only">열린 분류 </span>';
        }
        $category_option .= '>'.$category_msg.$category.'</a></li>';
    }
}

 

이런 부분을

 

// 분류 사용 여부
$is_category = false;

$categories= null; // false or []
if ($board['bo_use_category']) {
    $is_category = true;

    $categories = explode('|', $board['bo_category_list']); // 구분자가 , 로 되어 있음   
}

이렇게 줄이고

나머지는

list.skin.php에서 하는 게 좋지 않을까요?

추천
2

베스트댓글

Class 로 만드는게 제일입니다.
각 기능별로 private, public 함수로 나눠서 사용하구요.
rest api 만들때 고민한 부분인데,
그누보드는 구조화를 너무 안해서(단점!!! 이자 장점!)  코어소스를 건드린다면, class가 답이라고 생각합니다.

댓글 4개

Class 로 만드는게 제일입니다.
각 기능별로 private, public 함수로 나눠서 사용하구요.
rest api 만들때 고민한 부분인데,
그누보드는 구조화를 너무 안해서(단점!!! 이자 장점!)  코어소스를 건드린다면, class가 답이라고 생각합니다.

프로그래머 입장이야, class가 더 나을 수는 있지만
그누보드 성격상 문턱만 높아지는 게 아닐 듯합니다.
기존 skin 파일을 그대로 쓸 수 있으면서
최소 모듈화만이라도 하면 좋겠다 싶어서요.
저같은경우 스킨에다가 위에 소스 커스텀한것을 넣어서 쓰곤합니다
기존꺼 변경 안하고 그냥 냅두구용
전체 195,307 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

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