Yii 2 에서 YiBase 자동 로드 클래스,참조 파일 방법 분석(autoload)

본 고의 실례 는 Yii 2 에서 YiBase 가 자동 으로 클래스 를 불 러 오고 파일 을 인용 하 는 방법 을 분석 했다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
Yii 2 에서 이 함 수 는 클래스 를 불 러 오 는 데 사 용 됩 니 다.파일 을 직접 참조 하지 않 았 습 니 다.하지만 이것 도 파일 을 인용 하 는 데 쓸 수 있다.

public static function autoload($className)
{
   /*
    * $classMap   name-value  ,
    * name     ,
    * value         ,         
    *
    *    $classMap             
    */
  if (isset(static::$classMap[$className])) {
   $classFile = static::$classMap[$className];
   //       ,      
   if ($classFile[0] === '@') {
    $classFile = static::getAlias($classFile);
   }
  //  $className "\"  , :'\a\b\MyClass'
  //       '@a/b/MyClass.php',           。
  } elseif (strpos($className, '\\') !== false) {
   $classFile = static::getAlias('@' . str_replace('\\', '/', $className) . '.php', false);
   if ($classFile === false || !is_file($classFile)) {
    return;
   }
  } else {
   return;
  }
  //    
  include($classFile);
  //  debug,      ....
  //   
  //      debug              
  if (YII_DEBUG && !class_exists($className, false) && !interface_exists($className, false) && !trait_exists($className, false)) {
   throw new UnknownClassException("Unable to find '$className' in file: $classFile. Namespace missing?");
  }
}

Yii 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 는 Yii 프레임 워 크 를 기반 으로 한 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기