2016-10-13 4 views
0

나는 작곡가와 함께 CodeIgniter 프로젝트를 설정하고 있습니다. shared 폴더에 vendor 폴더 외부의 파일에 저장된 php 클래스를 포함하고 싶습니다.작곡가 - 벤더 폴더 외부의 CodeIgniter 클래스에 대한 자동로드

내 디렉토리 구조 :

/ 
    --application/ 
    --shared/ 
    -application/ 
     -class1.php 
     -class2.php 
     -class3.php 
    -base/ 
     -classb1.php 
    --vendor/ 
    --composer.json 
    --composer.lock 

작곡가 documentation 보면, 나는 내가 shared 디렉토리에 클래스를로드하는 데 사용할 노력하고있어 루트 패키지의 autoload 속성이 참조하십시오. 이러한 클래스는 네임 스페이스가 아닙니다.

{ 
    "description" : "The CodeIgniter Application with Composer", 
    "require": { 
     "php": ">=5.3.2", 
     "codeigniter/framework": "3.1.*" 
    }, 
    "require-dev": { 
     "mikey179/vfsStream": "1.1.*" 
    }, 
    "autoload":{ 
     "psr-0":{ 
      "":"shared/application/", 
      "":"shared/base/", 
      "":"shared/data/" 
     } 
    } 
} 

내 검색 this question를 알려준하지만 클래스는 여전히로드되지 않습니다

composer.json 파일은 다음과 같습니다. 터미널에서 composer update을 실행했습니다.

답변

0

더 자세히 살펴본 후 루트 패키지에 classmap (documentation)이라는 속성이 있습니다.

"autoload":{ 
    "classmap":["shared/application/","shared/base/", "shared/data/"] 
} 

이렇게하면 폴더에 필요한 파일이 모두로드됩니다.

관련 문제