ecshop的程序中,有个对象:$user,它是用来处理用户信息的。比如登录、注册,还有就是用来和第三方管理通讯和共享资源的。在user.php中,有一条$user->login($username,$password)。这里的$user是来自includes/init.php中的 $user = &init_users();
而init_user函数又在lib_common.php中,他里面有一段非常经典的代码。
include_once(ROOT_PATH.‘includes/modules/integrates/‘.$GLOBALS[‘_CFG‘][‘integrate_code‘] . ‘.php‘); $cfg = unserialize($GLOBALS[‘_CFG‘][‘integrate_config‘]); $cls = new $GLOBALS[‘_CFG‘][‘integrate_code‘]($cfg);
默认情况下 $GLOBAL[‘_CFG‘][‘integrate_code‘]的值为:ecshop
这是在、includes、lib_common.php 文件的function load_config() 函数中定义的:
1 if (empty($arr[‘integrate_code‘])) 2 { 3 $arr[‘integrate_code‘] = ‘ecshop‘; // 默认的会员整合插件为 ecshop 4 }
默认情况下,调用会员整合插件是ecshop。那么这包含的文件就是:‘includes/modules/integrates/ecshop.php‘, 打开ecshop.php这个文件,你会发现它继承了‘includes/modules/integrates/integrate.php‘
integrate.php里面有很多的方法:login()登陆,edit_user()编辑用户资料,add_user()注册用户。 使用各自系统整合时,就需要重写 integrate 基类,然后调用这个重写后的类。