您的位置 首页 java

PHP中自动加载原理以及__autoload的使用教程

自动加载原理

自动加载的原理,就是在我们new一个class的时候,PHP系统如果找不到你这个类,就会去自动调用本文件中的__autoload($class_name)方法,我们new的这个class_name 就成为这个方法的参数。

所以我们就可以在这个方法中根据我们需要new class_name的各种判断和划分就去require对应的路径类文件,从而实现自动加载。

__autoload使用教程:

我们先一步步来,看下__autoload()的自动调用,看个例子:

index.php

$db =new DB();

如果我们不手动导入DB类,程序可能会报错,说找不到这个类:

Fatal error: Class 'DB' not found in D:\wamp\www\testphp\autoload\index.php on line 3

那么,我们现在加入__autoload()这个方法再看看:

$db =new DB();function __autoload($className){  echo $className;  exit();}

根据上面自动加载机制的描述,你分析下会输出什么? 没错:肯定是输出:DB, 也就是我们需要new 的类的类名。所以,这个时候我们就可以在__autoload()方法里,根据需要去加载类库文件了。

index.php

$db =new DB();function __autoload($className){  require $className .'.php';}

DB.php

class DB{  publicfunction __construct()  {      echo 'Hello DB';  }}

这样子我们就很轻松的将我们需要new 的class 全部导入了进来,这样子,我们就可以轻松的new N个class,比如:

<?phpfunction __autoload($className){  require $className .'.php';}$db =new DB();$info =newInfo();$gender =newGender();$name =newName();//也是支持静态方法直接调用的Height::test();

推荐教程:PHP教程

文章来源:智云一二三科技

文章标题:PHP中自动加载原理以及__autoload的使用教程

文章地址:https://www.zhihuclub.com/22130.shtml

关于作者: 智云科技

热门文章

网站地图