엑

bbs/list.php 모듈화

· 2022-04-18 (월) 12:54:36 · 1944 · 4

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

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에서 하는 게 좋지 않을까요?

|

댓글 4개

Class 로 만드는게 제일입니다.
각 기능별로 private, public 함수로 나눠서 사용하구요.
rest api 만들때 고민한 부분인데,
그누보드는 구조화를 너무 안해서(단점!!! 이자 장점!) 코어소스를 건드린다면, class가 답이라고 생각합니다.
2022-04-18 (월) 14:45:30
@솔그루
프로그래머 입장이야, class가 더 나을 수는 있지만
그누보드 성격상 문턱만 높아지는 게 아닐 듯합니다.
기존 skin 파일을 그대로 쓸 수 있으면서
최소 모듈화만이라도 하면 좋겠다 싶어서요.
저같은경우 스킨에다가 위에 소스 커스텀한것을 넣어서 쓰곤합니다
기존꺼 변경 안하고 그냥 냅두구용
오픈소스는 기존소스를 내키는대로 바꿀 수가 없습니다.
기존 작업물에 영향을 주거든요
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

203,081건
+
제목 글쓴이 날짜 조회
22-04-19 조회 1,610
22-04-19 조회 2,028
22-04-19 조회 1,986
22-04-19 조회 2,360
22-04-18 조회 1,657
22-04-18 조회 1,390
22-04-18 조회 1,417
22-04-18 조회 1,373
22-04-18 조회 1,945
22-04-18 조회 1,745
22-04-18 조회 2,441
22-04-17 조회 2,099
22-04-16 조회 1,738
22-04-16 조회 2,197
22-04-16 조회 1,660
22-04-16 조회 1,988
22-04-16 조회 2,213
22-04-16 조회 2,046
22-04-16 조회 1,968
22-04-15 조회 1,887