自动加载道理
自动加载的道理,就是在我们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,比方:
<?php function __autoload($className) { require $className .'.php'; } $db =new DB(); $info =newInfo(); $gender =newGender(); $name =newName(); //也是支撑静态要领直接挪用的 Height::test();
引荐教程:PHP教程
以上就是PHP中自动加载道理以及__autoload的运用教程的细致内容,更多请关注ki4网别的相干文章!