CI 묻고 답하기

제목 view 에서 라이브러리에 있는 파일을 호출 해서 사용 하는 방법이 없나요?
카테고리 CI 4 관련
글쓴이 데칼코마니 작성시각 2022/07/14 17:08:21
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 6049   RSS

 

ci3 에서는

1. $autoload['libraries'] = array('commonfn'); 설정 하고

2. commonfn 파일 내용

class commonfn {

   function yoil_array() {

       $yoil_title = array("2"=>"월요일","3"=>"화요일","4"=>"수요일","5"=>"목요일","6"=>"금요일","7"=>"토요일");

       return $yoil_title;         

   } 

}

3. view 파일에서

// 모든 파일에서 필요 하면 아래 처럼 사용을 할 수 있었습니다.

foreach ($this->commonfn->yoil_array() as $k=>$v){

// 월 화 수 목 금 토 이렇게 뿌려 줬습니다.

}

===================================

ci4에서는 위와 같은 방식이 안되는걸로 알고 있습니다

지금은 commonfn을 사용 해야 되는 view 파일 상단에

$commonfn = new \App\Libraries\Commonfn;

선언 해서 

foreach ($commonfn->yoil_array() as $k=>$v) {

}

이렇게 될 경우 해당 되는 view 파일에서 계속 선언을 해줘야 되더라구요

혹시 다른 방법으로 view 페이지에서 사용 할 수 있는 방법이 없는지요???

 

소스 상에 오타가 있어도 이해 주셨으면 합니다. 

 

혹시 common.php에 선언 해서 사용 하면 될까요? 글 작성 후에 살펴 보니 

전역 함수를 여기다 선언 하는거 같네요 일단 한번 해보겠습니다. 

혹시 알고 계시는 분들 있으시면 답변 부탁 드리겠습니다.

 다음글 CI 외부 파일에서 세션 값을 가져 오려면 어떻게 해야... (3)
 이전글 프로파일러 질문이요 ==> 다시 봐주세요ㅜㅜ (2)

댓글

테러보이 / 2022/07/15 09:27:18 / 추천 0

방법1: helper ( http://ci4doc.cikorea.net/general/helpers.html )

- 헬퍼 파일을 만들고 function형태로 사용 하는 방법

- baseController 에서 helper()에 등록하여 사용 또는 따로 helper를 사용 하여 호출 사용

- view()에서 array형태로 내려줘야함

 

방법2: 베이스컨트롤러 ( http://ci4doc.cikorea.net/extending/basecontroller.html?highlight=basecontroller#id5 )

- 베이스 컨트롤러에서 라이브러리 클래스 변수를 선언하고 내려주는 방법

- view()에서 array형태로 내려줘야함

 

방법3: 서비스 등록 ( http://ci4doc.cikorea.net/concepts/services.html )

app/Config/Services.php 에 다음과 같이 저장

public static function commonfn($getShared=true)
{
    if ($getShared) {
        return static::getSharedInstance('commonfn');
    }
    return new \App\Libraries\Commonfn();
}

이후 다음과 같이 사용

service('commonfn')->yoil_array();

 

- 뷰페이지에서 바로 사용가능

데칼코마니 / 2022/07/15 09:48:39 / 추천 0
테러보이 // 답변 감사 합니다  common.php 에서 선언 해서 사용 해도 작동은 되네요