Composer PSR-4 자동 로딩 지원 중단: 클래스 경로 불일치
업데이트 및 설치와 같은 작성기 명령을 실행할 때 다음과 같은 지원 중단 알림이 표시될 수 있습니다. PSR-4 자동 로딩 표준을 준수하지 않는 클래스는 일반적으로 클래스 사이에 불일치가 있을 때 발생합니다. 정규화된 이름과 해당 파일의 경로.
경로 대소문자
가장 일반적인 원인은 경로 이름 구성 요소와 클래스 이름의 대소문자가 일치하지 않는 것입니다. 예를 들어, "foo/bar/Baz.php"는 "FooBarBaz"와 일치하지 않습니다. 각 경로 이름 구성 요소의 대소문자가 해당 구성 요소가 나타내는 네임스페이스의 대소문자와 일치하는지 확인하세요. "FooBarBaz"에 대한 "Foo/Bar/Baz.php" 조건. 때로는 클래스(또는 네임스페이스)의 이름이 FooBar일 수 있지만 해당 디스크 경로는 "foo-bar"입니다. 이 상황은 또한 경고를 유발합니다. 파일이나 클래스(또는 네임스페이스)의 이름을 바꿔야 합니다.
클래스나 네임스페이스 이름을 변경하는 것보다 경로나 파일을 변경하는 것이 더 쉬운 경우가 많습니다. 클래스나 네임스페이스 이름을 변경하려면 새 이름과 일치하도록 코드를 리팩터링해야 하지만 경로를 변경하면 리팩토링이 필요하지 않기 때문입니다. 콘텐츠.
중첩된 네임스페이스 및 누락된 선언이 있고 Dummy 클래스가 src/Buzz에 정의되어 있다고 가정합니다.
위 코드는 잘 작동하지만 다른 상황과 유사한 경고가 발생합니다. 올바른 접근 방식은 다음과 같습니다.
"autoload": { "psr-4": { "Fizz\Buzz\": "src/" } }
영향을 받는 클래스뿐만 아니라 해당 클래스를 사용하거나 가져오는 다른 파일도 변경해야 합니다(예를 들어 이제 FizzBuzzBuzzDummy; 사용을 선언). .
위 내용은 Composer가 클래스 경로 불일치에 대해 PSR-4 자동 로딩 지원 중단 경고를 발행하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!