AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > PHP编程

ecmall注册程序的分析

51自学网 2016-09-26 http://www.51zixue.net
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)方法来进行数据库处理。
从而完成了注册功能.


说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,51zixue.net不保证资料的完整性。
 
上一篇:修改ecshop底部信息  下一篇:分析ecmall的model中引用其他model表名称和联接查询