解析PHP类的注册和自动加载
项目目录如下:1。将需要注册的类放入数组中。
复制代码代码如下所示:
< PHP
最后一类工具{
私有函数__construct(){
}
公共静态函数getClasses($ pre_path =/){
$类=数组(
dbconfig= > pre_path美元。'dbconfig / dbconfig PHP的,
用户= > pre_path美元。各地/ PHP的用户,
道= > pre_path美元。'dao /道。php,
UserDAO ' = > pre_path美元。'dao / UserDAO PHP的,
usermapper= > pre_path美元。'mapping / usermapper PHP的,
);
返回$类;
}
}
>
2。一个注册的阵列
注意:在步骤1中的类路径是相对于init.php,不相关的工具,这是因为我们使用init。PHP的自动加载功能spl_autoload_register要求类。
复制代码代码如下所示:
< PHP
require_once ' /工具/工具PHP的;
最后类初始化{
*系统配置。
* /
公共函数init(){
报表——用于开发的所有错误(确保您有
display_errors =在你 / php.ini文件)
error_reporting(e_all e_strict |);
mb_internal_encoding('utf-8);
/ /注册类
spl_autoload_register(阵列($,'loadclass '));
}
*类装入器。
* /
公共职能loadClass($name){
美元类=工具::getClasses();
如果(!array_key_exists($name,$类)){
死('。名称未找到;
}
require_once类名称} { $ $;
}
}
$ init =新(init);
($ init init);
>
三.在这个例子中,在使用中需要init.php test.php
复制代码代码如下所示:
< PHP
require_once'init PHP的;
$道=新UserDao();
结果=美元美元道-> findbyname('zcl);
>