PHP学习-类的自动加载
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP学习-类的自动加载相关的知识,希望对你有一定的参考价值。
其实我也搞不懂类的自动加载有什么用,只当是记录一下学习过程。
1.使用__autoload($className)方法
比如说,有一个外部的类,我们需要另一个php文件中读取,通常可以使用__autoload方法来加载。
例如:
有一个Person类:
1 <?php 2 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学习-类的自动加载的主要内容,如果未能解决你的问题,请参考以下文章