2011-05-03 3 views
0

다른 PHP 프레임 워크 (kohana, zend, fuel)에서는 디렉토리 경로에 따라 자동으로 파일을로드 할 수 있습니다. 그것은 CodeIgniter의에서이 작업을 수행 할 수 있습니다, 그래서 내가 (이 모델/카테고리/users.php에 매핑하는 것) 파일 트래버 설 유형 자동 로딩 중 codeigniter

models_category_users 

뭔가를 입력하여, 예를 부하 모델의 수?

임 사용하여 CodeIgniter의 반응기, 버전 2.0.2

+0

자동 로딩이란 무엇을 의미합니까? CodeIgniter에서는 대개 파일을 포함하지 않지만 CI가 대신 수행합니다. –

+0

위의 예제에서 필자는 파일을 포함하지 않고'models_category_users' 클래스를 확장 할 수 있습니다. 자동으로 클래스 자체를 찾습니다. – richzilla

+0

내가 아는 한 확장 클래스 MY_Users를 호출하면 원하는 클래스가 자동로드됩니다. 라이브러리에 대해서는이 사실이 확실하지만 모델에 대해서는 확실하지 않습니다. –

답변

1

CodeIgniter에는 PHP 자동 로딩 기능이 없으므로 추가하는 유일한 방법은 자동 로더를 작성하는 것입니다. CI : https://bitbucket.org/jschreuder/augmentedci/src/554e3d956a15/application/config/autoloader.php에 대해 매우 광범위한 것을 썼습니다. 지금은 아마 다른 것을 할 것입니다. 포럼을 검색하면 몇 가지 옵션을 찾을 수 있습니다.

당신이 직면하게 될 일 중 하나는 CI가 "항상로드"또는 "각 요청에 대해 자동로드"해야하는 항목에 "자동로드"라는 단어를 사용한다는 것입니다. 당신이 원하는 것은 클래스에 대한 "자동로드 (autoload on demand)"이지만, 이는 많은 CI 사용자들에게 외국 개념이 될 것입니다.

2

할 수 있습니다 응용 프로그램/config 폴더에있는 autoload.php 파일에서 다양한 자동로드 파일 시스템. 기본 모델을 확장하려면 application/core 폴더에 MY_Model.php라는 파일을 만듭니다. (application/config/config.php에서 MY_ 접두사를 변경할 수 있습니다)

$this->load->model('category/users');을 사용하면 models/category 폴더에서 users.php 모델을로드 할 수 있습니다. 패키지 경로를 지정할 수도 있습니다. http://codeigniter.com/user_guide/libraries/loader.html