ホームページ  >  記事  >  バックエンド開発  >  PHPでのクラスの自動ロード

PHPでのクラスの自動ロード

无忌哥哥
无忌哥哥オリジナル
2018-06-28 14:35:532308ブラウズ

* 类的自动加载

 * 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。