`
anysky131
  • 浏览: 176256 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

有关ecmall的东东3----登录用户信息$this->visitor->get("user_id")的实现

    博客分类:
  • PHP
PHP 
阅读更多

在ecpp.base.php中定义了一个BaseVisitor extends Object 类,它对session中的当前登录的用户信息进行判断与初使化,我们先看看它的构造器:

function BaseVisitor()
    {
        if ($_SESSION[$this->_info_key]['user_id'])
        {
            $this->info         = $_SESSION[$this->_info_key];
            $this->has_login    = true;
        }
        else
        {
            $this->info         = array(
                'user_id'   => 0,
                'user_name' => Lang::get('guest')
            );
            $this->has_login    = false;
        }
    }

 

它在构造器中就对$_SESSION中进行_info_key的判断,判断是否存在,存在则用户已经登录,不存在,则用户还没有登录
 而这里的_info_key,则是在它的子类:UserVisitor extends BaseVisitor中进行附值的:

class UserVisitor extends BaseVisitor
{
    var $_info_key = 'user_info';
}

 

这个子类,在FrontendApp extends ECBaseApp类中的:

function _init_visitor()
    {
        $this->visitor =& env('visitor', new UserVisitor());
    }

 

中对visitor进行初使化的。因此这就可以让我们在FrontendApp的子类中使用$this->visitor->get("user_id")就可以获取当前登录用户的信息,而根据ecmall的继承图中我们可以知道,基本在所有的实体对象操作类中都可以使用它对当前登录用户进行访问!而在BaseVisitor类中,集合了更多的函数可以对用户是否登录,获取当前用户信息等内容进行操作。
 而对于系统后台的用户操作,与前台是一样的,只不过后台是:admin/app/backend.base.php中的BackendApp类

分享到:
评论
1 楼 tigarlion 2009-09-04  
期待4.5,6

相关推荐

    ecmall插件

    $data = $this->_datacall_mod->getOne($id); if (empty($data)) { return; } $this->name_length = $data['name_length']; $this->_expires = time() + $data['cache_time']; $this->charset = in_array($...

    Ecmall_MySql_数据库调用教程

    3. **获取所有数据**:若需获取整个结果集,可使用`$db->getall()`函数,如`$user=$db->getall("SELECT user_id FROM ecm_member");`。遍历此数组即可获取所有用户ID。 4. **获取单一数值**:当查询结果仅需一个...

    ecmall数据字典

    ECMall 数据字典是针对 ECMall 商城系统的一个详细数据结构描述,它列出了系统中各个关键数据表及其字段,用于理解数据存储和管理的方式。以下是对这些表及其重要字段的详细解释: 1. **ecm_acategory**:文章分类...

    ecmall_v2.2_数据字典

    - session_id:Session ID,用于临时保存未登录用户的购物车信息。 - store_id:店铺ID,购物车中的商品来自哪个店铺。 - goods_id:商品ID,记录所选商品。 - goods_name:商品名称。 - spec_id:规格ID,针对...

    ECMALL数据库字典[归类].pdf

    ECMALL是一款电子商务平台软件,其数据库字典包含了多个关键表...这些表共同构成了ECMALL平台的数据基础,通过这些表的交互,ECMALL能够实现商品展示、购物、订单处理、用户管理、内容发布、促销活动等一系列电商功能。

    ecmall数据字典2_2版

    - User_id:与该地址关联的用户ID - Consignee:收件人的姓名 - Region_id:地区ID,对应地理区域 - Region_name:地区名称 - Address:具体地址 - Zipcode:邮政编码 - Phone_tel:电话号码 - Phone_mob:...

    ECMALL数据库字典.pdf

    ECMALL是一款电子商务平台系统,其数据库字典包含了多个核心表,用于管理平台的各种功能,如广告、管理员操作记录、用户、广告位、文章、文章分类、属性、拍卖记录、黑名单词汇、品牌、购物车、商品分类、收藏、评论...

    课程ECMALL数据库分析.pdf

    ECMALL是一款电子商务平台系统,其数据库设计涵盖了多个核心模块,包括广告管理、管理员操作记录、用户管理、广告位管理、文章与文章分类、属性管理、拍卖活动日志、屏蔽词管理、品牌管理以及购物车和商品分类。...

    ecmall230-0918-scgbk 官方版

    《ECMall 2.3.0-0918-SCGBK 官方版:电商系统的里程碑》 ECMall 2.3.0-0918-SCGBK,这款电商软件曾是众多商家青睐的选择,尤其对于中文用户来说,其SCGBK编码版本更是满足了国内市场的特定需求。然而,随着时代的...

    ecmall数据库字段

    ECMall是一款开源的电子商务平台,其数据库设计涵盖了多个核心模块,包括广告管理、管理员操作记录、用户管理、广告位管理、文章系统、文章分类、属性管理、拍卖活动记录、黑名单管理、品牌管理以及购物车功能。...

    ecmall数据库,数据字典

    - `user_id`:与用户表关联的ID,记录用户的地址信息。 - `consignee`:收货人的姓名。 - `region_id`:收货地区的编号,通常对应地区表的ID。 - `region_name`:收货地区的名称,方便用户查看。 - `address`:...

    ecmall二次开发汇总

    在用户信息管理方面,ECMall提供了`$this->visitor->get("user_id")`这样的方式获取当前访问用户的ID。`visitor`对象封装了用户状态和信息,使得开发者能方便地获取和操作用户数据。 模板解析是ECMall展示界面的...

    ECMALL数据库分析.pdf

    ECMALL是一款电子商务平台,其数据库设计涉及到多个关键模块,包括广告、管理员操作、用户管理、广告位、文章、文章分类、属性、拍卖记录、黑名单词、品牌、购物车以及商品分类。以下是对这些模块的详细说明: 1. *...

    ECMALL数据库分析[参考].pdf

    3. **管理员用户**(ecm_admin_user) - `user_id`:管理员用户ID。 - `store_id`:所属店铺ID。 - `real_name`:管理员的真实姓名。 - `add_time`:账号创建时间。 - `last_login`:最近一次登录时间。 - `...

    ecmall230-0918-scutf8 代码

    ECMall 2.3 采用经典的MVC(Model-View-Controller)设计模式,实现了业务逻辑、数据处理和用户界面的分离,提高了代码的可维护性和可扩展性。UTF-8编码方式确保了多语言环境下的良好兼容性,使得ECMall能够在全球...

Global site tag (gtag.js) - Google Analytics