2013-11-21 3 views
0

get_instance()에 액세스해야하는 많은 도우미 함수가 있습니다. 여기에 추가로 많은 코드가 뭔가 내가 적합 고려하지 것이다이 때문에네이티브 리소스에 액세스해야하는 모든 도우미 함수에서 get_instance()를 사용해야합니까?

function get_members_list() 
{ 
    $EE =& get_instance(); 
    $EE->load->model('member_model'); 
    // rest of my code 
    return $members_list; 
} 

내가 도우미에 넣어 -이 : 예를 들어, 다음 드롭 다운에 사용하기 위해 회원의 목록을 얻을 수있는 기능입니다 모델이지만 컨트롤러의 경우 더 많습니다. 여러 라이브러리/컨트롤러가이 라이브러리에 액세스하고 있기 때문에이 라이브러리를 이동하는 것이 도움이된다고 생각했습니다.

내 질문에, 도우미 함수 내에서 get_instance() 및 helper를로드해도 괜찮습니까? 내 헬퍼 파일에서 get_instance()를 여러 번 사용했습니다. 각 함수는이를 호출해야하기 때문입니다.

헬퍼를로드하는 컨트롤러/라이브러리에 이미로드 된 get_instance()에 헬퍼가 액세스 할 수있는 방법이 있습니까?

감사합니다.

답변

1

나는 라이브러리에 넣을 것입니다.

어떻게 사물을 정리 하는가는 개인적인 취향에 달려 있지만, 도서관을 갖는 것이 가장 합리적입니다. 데이터 유형별로 그룹화하거나 키/값 데이터 (드롭 다운에 사용)에 대한 단일 라이브러리 클래스 만 가질 수 있습니다.

+0

동의합니다. 인스턴스를 부트 스트랩하는 라이브러리를 만든 다음 해당 라이브러리를 모든 컨트롤러에서 사용할 수 있도록 자동로드하십시오. 또는 클래스 생성자에서 참조를 얻을 수도 있습니다. – daniel0mullins

+0

많은 관련이없는 함수가 포함되어 있으므로 도우미를 만들었습니다. get_instance가 필요한 서로 관련없는 모든 메소드를 포함하는 "일반적인"라이브러리를 만들거나 각각의 라이브러리를위한 별도의 작은 라이브러리를 만들겠습니까? 나는 보통 서로 다른 일을하는 일반적인 방법보다는 관련된 방법을 가진 라이브러리를 보았다. –

+0

앱에 따라 다릅니다. 이 시점에서, 당신은 그것을 생각하고 있습니다. 이러한 기능이 몇 가지 있다면 단일 라이브러리에 두십시오. 그것이 커지기 시작하면, 더 작은 라이브러리들을 만들어라. (그것들은 기본 라이브러리로부터 상속 받아 모든 $ CI를 이용할 수있다.) – minboost

관련 문제