ecshop中的$user对象

  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 基类,然后调用这个重写后的类。

原文地址:https://www.cnblogs.com/we-jack/p/8136343.html