我的应用是 PHP / CodeIgniter / TankAuth。
我的数据库中有各种各样的帐户余额,我想在我的应用程序页面上显示此帐户余额。所以我已经很好地工作了,在会话数据中保持平衡。
在某些条件下,余额仅在登录时更改。所以在 tank_auth 组件中,有一个控制器、一个库等。流程是 Auth 控制器登录调用 Tank_auth 库登录函数,其中创建会话,然后调用模型更新登录信息(IP地址,上次登录等)这一切都是开箱即用的。
所以我在库中扩展了会话方面,添加了我自己的用户数据“account_balance”。这很好,但问题是当余额发生变化时,我的会话数据“落后”,我真的很难弄清楚如何更新它。
第一次尝试是在用户模型(库存标准 Tank_Auth 模型)中更新数据库后简单地尝试更新会话信息。它不起作用,给我一个错误。
经过一些实验得到这个,我意识到我不明白这是关于什么的。:
echo $this->session->userdata('ip_address'); //works fine - no errors
echo $this->ci->session->userdata('ip_address'); //fail
Tank_auth 模块(库、控制器、模型等)有时引用 ci->sessions 有时不引用,但它同时使用两者。
在类构造函数中,它还使用:
$this->ci =& get_instance(); //in the library
$ci =& get_instance(); //in the model
我收到 2 个错误:
- 消息:未定义的属性:Auth::$ci
- 试图获取非对象的属性
我的印象是人们会使用 CI 会话,因为它有一些不错的功能,或者如果人们不想要它们就不会。但是同时使用......?
我错过了什么?
提前致谢。