2013-02-16 3 views
0

내 코드에서 모델 이름을 일반화하고 싶습니다.동적으로 생성 된 변수 복사

컨트롤러 클래스 이름과 일치하는 모델을 자동으로로드하는 상위 컨트롤러를 만들었습니다.

그러나 모델이로드 될 때 모델의 이름이 있습니다. 전의; $this->load->model('some_model') creates $this->some_model

내가하고 싶은 것은 $this->some_model을 대체 할 변수 $ this-> model을 만드는 것입니다.

핵심 코드를 변경하지 않으려 고합니다. 따라서 부모 컨트롤러에서 사용할 수있는 PHP 솔루션이 필요합니다.

$this->load->model($model_name); 
$this->model = ${ $model_name }; 

이것은 $this->model_name undefined 오류를 반환합니다

가 나는 행운과 함께 다음을 시도했다.

돌봐, 리

답변

2

다른 개체 이름에 할당 모델을 확인하려는 경우에는로드 기능의 두 번째 매개 변수를 통해 지정할 수 있습니다

$this->load->model('Model_name', 'fubar'); 
$this->fubar->function(); 

http://ellislab.com/codeigniter/user-guide/general/models.html#what

+0

감사합니다. 내 마음을 교차 시키지도 않았습니까? –

+1

나는 당신이 그것에 익숙해 있다고 생각하지만 이것은 유용 할 수도있다. http://www.codebyjeff.com/blog/2012/11/the-naming-of-things-writing-more-dynamic- 암호 – jmadsen

관련 문제