MicroPHP里面,类库文件是自加载的。
要做的就是:
1.把类库文件按照命名规命名,然后放在library文件夹里。
2.然后在控制器和模型里面直接new $class_name()。
另外:
可以通$this->lib($lib_name,$alias_name=null,$new=true)手动加类库。
参数说明:
$lib_name 类库的文件名
$alias_name 别名,类库文件名过长就可以用别名
$new 默认情况下,$this->lib()加载类库的时候,会new一个类的对象。
有时候我们只是为了包含进来类库文件,或者类是不可实例化的,
那么我们只要指定$new=false即可。 然后$this->lib()加载类库的时,
只是包含文件,并不会new一个类的对象,
此时xxx类对应的$this->lib->xxx不再可用,是null。
使用示例:
1.$this->lib('ImageTool')
加载的是library/ImageTool.class.php,然后就可以通过$this->lib->ImageTool使用。
2.$this->lib('tool/FormTool')
加载的是library/tool/FormTool.class.php,然后就可以通过$this->lib->FormTool使用。
3.$this->lib('tool/FormTool','form')
加载的是library/tool/FormTool.class.php,然后就可以通过$this->lib->form使用。
注意:
1.和类库相关的系统配置
(1).存放类库文件的文件夹路径名称,存放在该文件夹的类库中的类会自动加载
支持数组,比如:array($lib_path1,$lib_path2)
$system['library_folder'] = $system['application_folder'] . '/library';
(2).系统配置中,类库自动加载的时候,可以指定new参数。
$system['library_file_autoload'] = array();
自动加载的library文件,比如array($item);
$item是library文件名或者"配置数组",不包含后缀,
比如: ImageTool 或者配置数组array('ImageTool'=>'image'),
或者配置数组array('ImageTool'=>'image','new'=>fasle)
配置数组的作用是为长的类库名用别名代替.
2.类库文件名称后缀
$system['library_file_subfix'] = '.class.php';
3.new $class_name()
这种方式的类库文件必须在类库文件夹或者一级子目录里面,不能在类库文件夹的二级子目录里面。意思就是系统自动加载类库的时候只在配置的类库文件夹和其一级子目录里面寻找类库文件,不在其二级子目录里面寻找。
4.$this->lib($lib_name,$alias_name=null)
这种方式来加载一个类库,类库文件可以是类库文件夹的二级或更多级子文件夹里面的类库文件。
Powered By 狂奔的蜗牛 | 历史版本 | 源代码 | 快速入门 | MicroPHP@开源中国
源代码许可证 Apache License v2.0
MicroPHP官方QQ交流群 : 42807575 , 有问题欢迎加群交流