2016-06-27 2 views
0

프로젝트 (작업 2)에서, 우리는 추가 할 때마다 "php composer.phar dump-autoload"와 "php composer.phar dump-autoload -o" 새 파일 (웹 프로젝트의 새 클래스). 이 명령 줄을 입력하지 않으면 오토로더 다이얼을 통해이 클래스를 찾을 수 없다는 메시지가 나타납니다.파일 추가하기 - 작곡가와 함께

개인 프로젝트에서는 새로운 생성 클래스마다 이러한 명령 줄을 입력하지 않았습니다. .

"autoload": { 
    "psr-4" : { 
    "App\\": "app/", 
    "Database\\": "app/", 
    "Helpers\\": "app/", 
    "": [ 
     "app/", 
     "lib/" 
    ] 
    } 
} 

모든 시간 동안 우리는 폴더 "응용 프로그램"에 파일을 추가하는 이유, 그래서 내가, 우리가 확인해야합니다, 이해하지 못하는 "PHP 작곡가 : 내 composer.json에서

나는이를 뒀다 .phar dump-autoload "및"php composer.phar dump-autoload -o "...

ps :"app "및"lib "디렉토리에 네임 스페이스가없는 클래스가 있습니다.

제발 어디로 올지 알겠습니까?

감사합니다.

답변

0

새 클래스를 추가 한 후 오토로더를 덤프해야하는 유일한 이유는 클래스 맵 자동로드 및 PSR-0 또는 PSR-4를 사용하지 않는 경우입니다.

해당 응용 프로그램의 composer.json 파일에 명확하게 표시되어야합니다 ("autoload":{"classmap":[...]}과 같음).

이것이 없으면 자동 공급기를 덤프 할 필요가 없습니다.

composer dump-autoload이 실제로 작동하지 않으며 composer dump-autoload -o이 필요한 경우 자동 로딩의 PSR 정의에 오류가 있습니다.

귀하의 composer.json에서 발췌 한 것이 귀하의 비 직업 사례에서 왔는지 아닌지 혼란 스럽습니다. 제가 말할 수있는 것은 덤핑없이 작업해야한다는 것입니다. 그래도 여전히 최적은 아닙니다.

+0

감사합니다. – stephweb

관련 문제