정의 위치

  • ./config/func.inc.php

정의된 내용

/**
 * Define a function to use {@see ModuleHandler::getModuleObject()} ($module_name, $type)
 *
 * @param string $module_name The module name to get a instance
 * @param string $type disp, proc, controller, class
 * @param string $kind admin, null
 * @return mixed Module instance
 */
function getModule($module_name, $type = 'view', $kind = '')
{
    return ModuleHandler::getModuleInstance($module_name, $type, $kind);
}

 

용도

  • 모듈 인스턴스를 생성합니다.
  • 해당되는 모듈 인스턴스가 정의된 파일을 열어서 인스턴스를 생성하고 변수를 반환합니다.

파라메터

  • string $module_name : 모듈의 이름입니다. board, document, comment 등 문자열 값을 전달합니다.
  • string $type : 인스턴스 타입을 전달합니다. view, controller, model 이 대표적인 type 입니다.
  • string $kind : 인스턴스 종류를 전달합니다. admin, svc 두 가지 종류가 있습니다. admin은 관리자 권한이 있는 회원을 대상으로 하는 인스턴스가 정의되어 있습니다. $kind 에 공백 문자열('')을 전달할 경우 svc로 지정됩니다. svc는 일반적인 인스턴스 종류입니다.

예시

  1. board.admin.controller.php 에 정의된 게시판 모듈의 관리자 용 컨트롤러 인스턴스 boardAdminController 를 원할 때
    • $oBoardAdminController = getModule('board', 'controller', 'admin');
  2. board.controller.php 에 정의된 게시판 모듈의 관리자 용 컨트롤러 인스턴스 boardController 를 원할 때
    • $oBoardController = getModule('board', 'controller');
    • $oBoardController = getModule('board', 'controller', '');
    • $oBoardController = getModule('board', 'controller', 'svc');
  3. XE Core에서 주로 사용된 곳
    • getController(), getAdminController(), getView(), getMobile(), getAdminView(), getModel(), getAdminModel(), getAPI(), getWAP(), getClass() 등의 정의에 활용 되었습니다.
  4. 이후의 활용 등 예시
    • $oDocumentController = getController('document');
      		$oDocumentController->addXmlJsFilter($this->module_info->module_srl);