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电子商务
最近更新
常用插件
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...