문제 설명, 오늘 Composer의 자동 로드를 살펴보았는데 autoload_real.php에 다음을 가리키는 코드가 있습니다.
spl_autoload_register(array('ComposerAutoloaderInitc80c5962bd70112ae6c86782593af788', 'loadClassLoader'), true, true);
PHP 매뉴얼 presents spl_autoload_register의 첫 번째 매개변수에 대한 설명은 다음과 같습니다.
autoload_function
등록할 자동 로드 기능입니다. 매개변수가 제공되지 않으면 자동 로드의 기본 구현 함수 spl_autoload()가 자동으로 등록됩니다.
매뉴얼에는 첫 번째 매개변수가 함수라고 나와 있습니다. 제공되지 않으면 기본적으로 spl_autoload() 함수가 구현됩니다.
autoload_real.php의 클래스 이름은 다음과 같습니다: ComposerAutoloaderInitc80c5962bd70112ae6c86782593af788,
클래스에 정적 메소드 loadClassLoader($class)가 있습니다.
생각해 보면 array('ComposerAutoloaderInitc80c5962bd70112ae6c86782593af788', 'loadClassLoader')의 첫 번째 멤버가 클래스 이름이고 두 번째 멤버가 정적 메서드 이름인 경우 self::loadClassLoader()와 동일합니까? 하지만 문제는 loadClassLoader의 매개변수를 어떻게 가져오느냐 하는 것입니다. 정말 알 수가 없어요.
드디어 연습을 하고, 클래스를 직접 만들고, static 메소드를 만들고, 위의 배열 메소드를 따라해본 결과, 함수는 실행되지 않고, 정직하게 배열이 생성되었네요. ? 그러면 작곡가의 코드 줄은 무엇을 합니까? 그것을 아시는 선배님들께서 가르쳐 주셨으면 좋겠습니다.