ecmall注册程序的分析

2009-08-17 22:22 来源:www.chinab4c.com 作者:ecshop专家

alter table ecs_comment add column type_count int(1) default 0;MEMBER_TYPE   定义为 default

ecmall的注册流程index.php?app=member&act=register
首先app是member,act是register方法。index.php中。通过ecmall的startup方法来启动,主要包含了eccore/ecmall.php,startup方法中包含eccore/controller/app.base.php和eccore/model/model.base.php基础类,通过$app = isset($_REQUEST['app']) ? trim($_REQUEST['app']) : $default_app;
        $act    = isset($_REQUEST['act']) ? trim($_REQUEST['act']) :$default_act; 来获取app和act.如果是注册,act=member那么$app_class_name = ucfirst

($app) . 'App';

        /* 实例化控制器 */
        $app     = new $app_class_name();
        这里的$app = new MemberApp,调用MemberApp类里面的register方法。而在register方法里面,获取注册信息。通过global.lib.php中的ms方法。include(ROOT_PATH . '/includes/passport.base.php');include(ROOT_PATH . '/includes/passports/' . MEMBER_TYPE .

'.passport.php'.regissword.php,而在register中ms()函数中以下程序include(ROOT_PATH . '/includes/passports/' . MEMBER_TYPE . '.passport.php');
        $class_name  = ucfirst(MEMBER_TYPE) . 'Passport';
        $ms = new $class_name();包含了default.passport.php中的DefaultPassport类,而他又继承了BasePassport,他有几行代码$user_class_name =

ucfirst($this->_name) . 'PassportUser';$this->user     = new $user_class_name();所以程序里面的$this -> user就是这么来的.那么$user_class_name其实就是includes/passports/default.passport.php中的DefaultPassportUser类。而他有extends了BasePassportUser,他调用了BasePassportUser中的_local_add()方法。而_local_add()方法通过调用model中的

member.model.php中的初始化数据,通过eccore/model/model.base.php中的BaseModel类下的function add($data, $compatible = false)方法来进行数据库处理。从而完成了注册功能.

    来源:中国B4C电子商务
       

来源于香港公司注册管理专家