ecshop中$user对象
有时候我们是需要把ecshop跟我们现有的项目整合,比如典型的会员系统是我们自己的,网店是ECshop的。或者,我们需要在ucenter的用户跟ECSHOP的做关联。ECShop已经替我们很好的规划了这部分。
ecshop的程序中,有个对象:$user,它就是用来处理用户信息的。
比如登陆,注册,还有就是用来和第三方管理通讯和共享资源的。
在user.php中,有一条$user->login($username, $password)。
这里的$user 是来自includes/init.php中的 $user = & init_users();
而inti_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);
默认情况下 $GLOBALS['_CFG']['integrate_code'] 的值为: ecshop
这是在 /includes/lib_common.php 文件的 function load_config()函数中定义的:
if (empty($arr['integrate_code']))
{
$arr['integrate_code'] = 'ecshop'; // 默认的会员整合插件为 ecshop
}
默认情况下,调用的会员整合插件是ecshop。
那么这包含的文件就是:'includes/modules/integrates/ecshop.php',
打开ecshop.php这个文件,你会发现它继承了'includes/modules/integrates/integrate.php'.
integrate.php里面有很多的方法:login()登陆,edit_user()编辑用户资料,add_user()注册用户。
使用各自系统整合时,就需要重写 integrate 基类,然后调用这个重写后的类。
ecshop中$user对象的更多相关文章
- [Effective JavaScript 笔记]第36条:只将实例状态存储在实例对象中
理解原型对象与其实例之间是一对多的关系,对于实现正确的对象行为很重要.常见的错误是不小心将每个实例的数据存储到了其原型中. 示例 一个实现了树型数据结构的类可能将子节点存储在数组中. 实例状态在原型中 ...
- MyBatis-执行插入语句的时候返回主键ID到传入的参数对象中
<!-- 保存项目信息 --> <insert id="saveItem" parameterType="pd" useGeneratedKe ...
- ecshop中的$user对象
ecshop的程序中,有个对象:$user,它是用来处理用户信息的.比如登录.注册,还有就是用来和第三方管理通讯和共享资源的.在user.php中,有一条$user->login($userna ...
- 把多个字符串里面的项写到不同的对象中,然后在push到一个数组中
otherUserNames: "甲,乙,丙,丁"otherUserIds: "10008750,10008711,10003348,10008747" oth ...
- javabean 参数收集 设置属性 设置不同级别的域对象的属性 默认存储在pagecontext中
javabean 参数收集 设置属性 设置不同级别的域对象的属性 默认存储在pagecontext中
- 将JSON对象带有格式的写出到文件中
需求:将一个JSON对象写出到文件中,要求文件中的JSON数据带有简单的格式.代码的实现参考了Java算法中的栈处理括号匹配问题.好了,不多说了,下面是代码的实现. 代码: package gemu. ...
- struts2将servlet对象注入到Action中
在struts2框架中,可以通过IoC方式将servlet对象注入到Action中,通常需要Action实现以下接口: a. ServletRequestAware: 实现该接口的Action可以直接 ...
- 如何将一个对象存到网页中并在js中使用
需求:希望在js中使用Controller传过来的对象,特别是对象里存有list的数据. 不希望循环使用隐藏域. 解决办法:在View中使用Json.Net序列化: @{ string jsonStr ...
- 将CachedRowSet中的数据转储到对象中
虽然还有很多bug,但凑合能用,就是将CachedRowSet中的数据转换成对象或List.省去了繁琐难看的一系列get/set方法. 先说调用: 注: cachedRowSet是查询的结果集 Stu ...
随机推荐
- PhpStorm Git 配置
首先需要安装windows下的Git版本,网上有很多我下载的是msysgit反正都差不多,不会的自己百度. 其次打开PhpStorm,点击File ,Settings ,找到Version Contr ...
- hdu 4024 二分
转自:http://www.cnblogs.com/kuangbin/archive/2012/08/23/2653003.html 一种是直接根据公式计算的,另外一种是二分算出来的.两种方法速度 ...
- 在IIS上创建FTP服务
1 在IIS上创建 ftp站点, 然后设定端口号. 2 设定权限: 追加Everyone,IIS_IUSRS,并设定可读可写. 3 设定FTP授权规则:
- php数组的各种排序
转自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/11/2207494.html 如果你已经使用了一段时间PHP的话,那么,你应 ...
- QUnit使用笔记-4保持原子性与分组
原子性: 当将许多测试用例放到一起测试的时候,可能会因为相互的副作用而出错:这个时候应该尽可能将他们分别放到test()中测试: 对应测试到Dom,应该尽可能地使用#qunit-fixture,因为它 ...
- BZOJ4123 : [Baltic2015]Hacker
黑掉的一定是一个长度为$\lfloor\frac{n+1}{2}\rfloor$的区间. 于是枚举初始点,然后查询包含它的区间的最小值. 通过维护前后缀最小值+单调队列$O(n)$解决. #inclu ...
- BZOJ3118 : Orz the MST
对于树边显然只需要减少权值,对于非树边显然只需要增加权值 设i不为树边,j为树边 X[i]:i增加量 X[j]:j减少量 C[i]:修改1单位i的代价 对于每条非树边i(u,v),在树上u到v路径上的 ...
- TYVJ P1046 Blast Label:dp
描述 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为“abcbcd”,则字符串“abcb□cd”,“□a□bcbcd□”和“abcb□cd□”都是X的扩 ...
- 【wikioi】1690 开关灯(线段树)
http://wikioi.com/problem/1690/ 这题可不能算是水题了.. 在线段树中,我只想到了lazy改变,但是没想到lazy变后size怎么变,我的策略变成了lazy为0时size ...
- POJ 3318 Matrix Multiplication(随机算法)
题目链接 随机算法使劲水...srand((unsigned)time(0))比srand(NULL)靠谱很多,可能是更加随机. #include <cstdio> #include &l ...