저는 Packagist없이 Laravel의 패키지 관리자를 작성합니다. 하지만 모듈을 추가 할 때마다 실행해야합니다 터미널에서작곡가 덤프 - 자동로드가 필요한 이유
composer dump-autoload
합니다.
로드 모듈을 자동화하는 방법.
저는 Packagist없이 Laravel의 패키지 관리자를 작성합니다. 하지만 모듈을 추가 할 때마다 실행해야합니다 터미널에서작곡가 덤프 - 자동로드가 필요한 이유
composer dump-autoload
합니다.
로드 모듈을 자동화하는 방법.
작곡가의 자동로드 동작을 설정하는 데는 여러 가지 옵션이 있습니다.
나는 예를 들어, psr-4
자동 로딩을 사용하는 것이 좋습니다 것 : 이것은 단순히 당신이 당신의 폴더를 구조화에 PSR-0/PSR-4 규칙을 따르고 있습니다 작곡가을 말하고 무엇을
...
"autoload": {
// The rest of your composer autoload
// add your namespace below
"psr-4": [
"Foo\\" : "app/Foo"
]
},
...
/디렉토리에 따라 네임 스페이스. 이 작업을 처음 수행하려면 composer dump-autoload
을 수행해야하지만 dump-autoload
이 없으면 다음 번에 새 모듈을 자동으로 선택합니다.
여기 PSR 가이드 라인에 대한 자세한 읽기 : 제프리 방법에 의해 PSR-0 및 PSR-4
놀라운 laracasts : https://laracasts.com/lessons/psr-4-autoloading
감사합니다. 나는 PSR-0이나 PSR-4에 대해서 읽지 않는다. 나는 이것을 봐야한다. 하지만 내 애플 리케이션에서 모든 모듈마다 다른 네임 스페이스가 있습니다. 나는 모든 모듈에 대해 composer.json을 넣을 수 있으며이 모듈은 자동으로로드됩니까? –
다른 네임 스페이스에서 말하면 적어도 동일한 네임 스페이스 루트로 시작합니까? 모듈을 완전히 별개의 네임 스페이스에 두는 것은 매우 이상 할 것입니다. 관련된 노트에서, 모듈이 편집/추가 될 때마다'dump-autoload'를 호출하는 것을 피하려면, 이것은 가장 실용적인 방법입니다. – JofryHS
자신의'composer.json'을 가진 모든 모듈은 원하는만큼 많은 네임 스페이스를 자동로드 할 수 있습니다. 충돌하는 네임 스페이스를 두 모듈에 만들지 않도록주의하십시오. 같은 클래스가 우연히 두 번 존재하고 "잘못된"버전이 자동로드되는 경우 오류를 디버깅하는 데 매우 어려워 지므로주의해야합니다. – Sven