1.
/* 载入配置项 */ $setting =& af(MODULE); Conf::load($setting->getAll());
af方法定义如下:
/** * 获取数组文件对象 * * @author Garbin * @param string $type * @param array $params * @return void */ function &af($type, $params = array()) { static $types = array(); if (!isset($types[$type])) { /* 加载数据文件基础类 */ include_once(ROOT_PATH . ‘/includes/arrayfile.base.php‘); include(ROOT_PATH . ‘/includes/arrayfiles/‘ . $type . ‘.arrayfile.php‘); $class_name = ucfirst($type) . ‘Arrayfile‘; $types[$type] = new $class_name($params); } return $types[$type]; }
其实就是加载了两个文件,然后返回了一个实例化的对象,上面载入配置项 af传参的MODULE是指当前模块的名字,
关于af方法 注释说是没有返回值,但是下面return的是一个对象,af里引入了两个类文件,其实,实例化的就是basearrayfile这个对象,因为引入的类文件里继承的这个basearrayfile对象,然后调用里面的方法获取配置信息,至于什么时候要获取配置信息,就要看项目需求了,比如,会员年费有可能是100,也有可能是200,这个时候不能在程序里写死,所以要在配置文件里配置,这样要改的话就改配置文件,就不用改程序代码了,通过查询配置文件,就可以得到修改后的价格。
m 实例化模型对象,这个是最常用的 也就相当于TP框架里的直接实例化一张表,可以对表的内容进行增删查改。
bm 实例化的是业务对象,也就是继承自模型对象(m方法实例化的),不过逻辑相对复杂,就抽象出来行成业务对象,进行业务逻辑处理,也会有增删改查,业务多的时候需要逻辑分层,这个时候用bm,(可以参考线上商城的goods.model.php)我还是不太懂,大腿毕竟是大腿,等过几年我接触的东西多了,业务实现的多了,说不定我就懂了......此处应该有表情,可是这个编辑器没有,我能怎么办呢,我也很无奈。
原文:http://www.cnblogs.com/benpaodelulu/p/6971995.html