早期PHP都是通过手工include载入相应的类文件,当PHP项目变大时,如果项目需要几十上百个文件时,管理是非常繁杂的。
在PHP5.2之后提供了类的自动载入方式,我们就可以基于此方式自动载入所需要的类文件。
实现如下:
<?php function __autoload($class){ require __DIR__.'/'.$class.'.php'; } Test1::test(); Test2::test();
当我们执行Test类的方法时,检测到没有引入Test1类,因此程序自动执行__autoload()方法,将要调用的类名传入,于是我们可以对应的组装引入地址引入,从而实现自动引入功能。
注意:类名与文件名不同时候,要注意映射关系,调用对应的类文件。
由于项目的增大,不同组建不同的目录,这个时候后多处文件都使用了__autoload方法就会产生冲突。
因此官方在PHP5.3后增加了spl_autoload_register()方法,他的意思就是注册回调一个自定义的引入方法。
<?php spl_autoload_register('my_autoload_a'); //自定义的引入方法 function my_autoload_a($class){ require __DIR__.'/'.$class.'.php'; } Test1::test(); Test2::test();
你会发现也是可以的,通过这个你可以自定义多个引入方法。(*^__^*) 嘻嘻