码迷,mamicode.com
首页 > 其他好文 > 详细

ecmall 学习记录

时间:2017-06-09 18:14:27      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:log   types   load   代码   继承   author   方法   return   项目   

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)我还是不太懂,大腿毕竟是大腿,等过几年我接触的东西多了,业务实现的多了,说不定我就懂了......此处应该有表情,可是这个编辑器没有,我能怎么办呢,我也很无奈。

 

ecmall 学习记录

标签:log   types   load   代码   继承   author   方法   return   项目   

原文地址:http://www.cnblogs.com/benpaodelulu/p/6971995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!