엑

bbs/list.php 모듈화

· 2022-04-18 (월) 12:54:36 · 1938 · 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,021건
+
제목 글쓴이 날짜 조회
22-04-19 조회 1,606
22-04-19 조회 2,023
22-04-19 조회 1,978
22-04-19 조회 2,339
22-04-18 조회 1,653
22-04-18 조회 1,385
22-04-18 조회 1,412
22-04-18 조회 1,369
22-04-18 조회 1,939
22-04-18 조회 1,741
22-04-18 조회 2,435
22-04-17 조회 2,093
22-04-16 조회 1,731
22-04-16 조회 2,193
22-04-16 조회 1,655
22-04-16 조회 1,984
22-04-16 조회 2,204
22-04-16 조회 2,042
22-04-16 조회 1,958
22-04-15 조회 1,880