您好,欢迎访问一九零五行业门户网

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的使用教程的详细内容。
其它类似信息

推荐信息