Maison  >  Article  >  développement back-end  >  Chargement automatique des classes en php

Chargement automatique des classes en php

无忌哥哥
无忌哥哥original
2018-06-28 14:35:532255parcourir

* 类的自动加载

 * 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;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn