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=newMemberApp,调用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)方法来进行数据库处理。 从而完成了注册功能. |
说明:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
|