Classloader

Classloader 소개

  • 고도몰은 클래스의 FQN(Fully Qualified Name)을 이용하여 class 파일을 자동으로 include 하는 autoload 시스템을 사용합니다.
  • Classloader사용자 소스 디렉토리(User Source Directory)route.php 에서 정의된 Class를 사용할 수 있도록 설정합니다.
  • PHP에서는 ClassloaderLoader Stack에 여러개 등록할 수 있고, Stack의 순서대로 Classloader가 동작하여 Class를 찾습니다. 하지만, 고도몰 에서는 하나의 Classloader를 사용하며, 내부에서 여러개의 ClassPathResolver를 등록하여 Loader Stack을 구현하고 있습니다.

Fully Qualified Name란? 네임스페이스의 완전한 이름으로 아래의 예에서 볼 때 Framework\ClassLoader\ClassLoader, Framework\Http\Request을 의미합니다. 또한 반드시 네임스페이스와 물리적인 디렉토리의 경로가 동일해야 Classloader가 정상 실행됩니다.