其实我也搞不懂类的自动加载有什么用,只当是记录一下学习过程。
1.使用__autoload($className)方法
比如说,有一个外部的类,我们需要另一个php文件中读取,通常可以使用__autoload方法来加载。
例如:
有一个Person类:
1 <?php2 class Person{3 ????4 }
我们在另一个php文件构造这个Person类的对象。
1 function __autoload($className){2 ????require $className . ".php";3 }4 5 $person = new Person();6 var_dump($person);
需要注意的是Person所在的文件中,文件名必须跟类名相同。
2.使用spl_autoload_register($className)方法
A.传递一个匿名函数(闭包)
spl_autoload_register(function($className){ ???require $className . ".php";});
B.传递类的一个方法
1 <?php ?2 ?3 class Bean{ 4 ????public function autoLoad($className){ 5 ????????require $className . ".php"; 6 ????} 7 } 8 ?9 /**10 ??*第一个参数是一个类的对象11 ??*第二个参数是类中的一个方法12 ??*/13 spl_autoload_register([new Bean, ‘autoLoad‘]);14 $person = new Person();15 var_dump($person);
PHP学习-类的自动加载
原文地址:http://www.cnblogs.com/Stay-Hungry-Stay-Foolish/p/7601951.html