2013-06-05 3 views
1

저는 Composer를 사용하기 시작했습니다. 어떻게 자동 로딩해야 하는지를 지정하는 방법에 대해서는 약간 혼란 스럽습니다.composer.json에서 자동 로딩 지정하기

초기 가정은이 패키지 내에서 패키지의 클래스를 자동로드하는 방법을 정의한다는 것이 었습니다. 그러나 나는 패키지가 사용되는 프로젝트에서 이것을 지정해야한다는 인상을 받고있다. 그럴까요?

나는 희망하지 않는다! 필자는 라이브러리 사용자가이 라이브러리의 자동 로딩이 어떻게 작동 하는지를 알 필요가 없습니다 (예 : 클래스가 위치한 디렉토리). 예를 들어, 내가 어떤 클라이언트가 "에 MyLibrary가"라는 디렉토리에있는 그것의 클래스가 있음을 알고 싶지 않아 "포함"

"autoload": { 
    "classmap": [ 
     "vendor/MyLibrary/includes/", 
    ] 
} 

반면에 현재의 내 인상은 잘못된 것입니다, 따라서 내 초기 가정이 올바른 경우 , 내 질문은 어떻게 이것을 달성하는 것입니다. 내 라이브러리 중 하나의 composer.json 파일에서 다음을 사용했지만, 어딘가에 설치하면 생성 된 autoload 클래스 맵에 항목이 표시되지 않습니다.

"autoload": { 
    "classmap": [ 
     "includes/", 
    ] 
} 

답변

0

초기 가정은 정확했습니다. 패키지의 composer.json 파일 내의 패키지에 대한 자동 로딩을 정의해야합니다. 패키지 외부의 어느 곳에서도 자동 로딩이 수행되는 방법을 알아야합니다. 내가하고있는 일이 왜 실패했는지 나는 확신 할 수 없다. 어쨌든, 나는 최근에이 문제를 다루지 않았다.