CI처럼 모델 로드하기

php 싱글톤(singleton) 패턴인데 클래스 외부에서 function을 선언함으로 해당 클래스 자체에서 사용 가능하게 되는 형태였네요. CI가 이런 형태로 구현되어 있습니다.

load = new loader();
 }


 public static function &get_instance(){
  return self::$instance;
 }
}

class loader{
 function model($model_name){
  $controller = & get_instance();
  $controller->$model_name = new $model_name;
 }
}

class say{
 function hello(){
  echo "hello";
 }
}

class main extends controller {
   function __construct(){
      parent::__construct();
      $this->load->model("say");
   }

   function index(){
    $this->say->hello();
   }
}

$c = new main();
$c->index();
김용균

안녕하세요, 김용균입니다. 문제를 해결하기 위해 작고 단단한 코드를 작성하는 일을 합니다. 웹의 자유로운 접근성을 좋아합니다. 프로그래밍 언어, 소프트웨어 아키텍처, 커뮤니티에 관심이 많습니다.

이 글 공유하기

이 글이 유익했다면 주변에도 알려주세요!

페이스북으로 공유하기트위터로 공유하기링크드인으로 공유하기Email 보내기

주제별 목록

같은 주제의 다른 글을 읽어보고 싶다면 아래 링크를 확인하세요.

November 16, 2011

facebook 웹페이지 캐시 삭제하기

facebook에서 링크를 공유하거나 담벼락에 게시한 경우 해당 사이트의 정보가 페이스북에 캐싱되어 있습니다. 그래서 페이지 내용이 수정되면 캐시를 초기화 해줘야 하는데요. 아래의 주소로 들어가 해당 주소를 넣어주시면 갱신이 됩니다. http://d…

November 08, 2011

naver smart editor에서 jindo 네임스페이스 사용하기

2014년 4월 추가 : 에디터 적용을 위해 이 글을 보고 있다면 Summernote를 확인하자. http://hackerwins.github.io/summernote/ 에디터 문제로 늘 골머리를 썩히고 있는데 naver smart editor…