PHP에서 클래스 자동 로딩

无忌哥哥
풀어 주다: 2023-04-01 20:56:02
원래의
2302명이 탐색했습니다.

* 类的自动加载

 * 1.如果要在当前脚本中使用很多对象时,就不得不在头部使用require或include加载很多的类文件

 * 2.为了避免这种情况,推荐使用类的自动加载器,用户在创建对象时,就不必关心当前类是否已导入

 * 3.类的自动加载,使用了标准php函数库中的spl_autoload_register()函数来实现

 * 4.sql_autoload_register(类名),多个类名请放在数组中

//require './class/Demo1.php';

//require './class/Demo2.php';

//以上只是二个类文件的导入,如果是20个,甚至上百个类文件导入,将会非常麻烦

//使用类自动加载器,将会极大的简化以上操作

spl_autoload_register(function($className){
//    require './class/'.Demo1.'.php';
//    require './class/'.$className.'.php';
//    存在命名空间时,应该先将命名空间中的反斜线进行转义后,变成目录后再处理
//      $className = str_replace("\\", "/", $className);
      $path = __DIR__.'/class/'.$className.'.php';
      if (is_file($path) && file_exists($path)) {
          require $path;
      }
    
});
echo Demo1::CLASS_NAME;
echo &#39;<hr>&#39;;
echo Demo2::CLASS_NAME;
로그인 후 복사

위 내용은 PHP에서 클래스 자동 로딩의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿