AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > PHP编程

分析ecmall中$this->visitor

51自学网 2016-09-26 http://www.51zixue.net
ecmall中往往会看到这么条代码,$this->visitor->has_login.这个变量的意思是表示登陆否。
其实你在ecmall电子商务系统中,你就能清楚的发现。这条语句就是用来处理验证登陆信息的。
    找到ecmall中的includes/module.base.php中的以下代码
    
    function AdminbaseModule()
    {
        define_module();
        Lang::load(module_lang('common'));
        $this->visitor =& env('visitor');
        parent::__construct();
    }
     
     他就是通过调用&env方法来初始化$this->visitor的。再看includes/global.lbi.php中的env函数
    function &env($key, $val = null)
    {
        $vkey = $key ? strtokey("{$key}", '$GLOBALS[/'EC_ENV/']') : '$GLOBALS[/'EC_ENV/']';
        if ($val === null)
        {
            /* 返回该指定环境变量 */
            $v = eval('return ' . $vkey . ';');
            return $v;
        }
        else
        {
            /* 设置指定环境变量 */
            eval($vkey . ' = $val;');
            return $val;
        }
    }
       他也就是无非调用了$GLOBALS数组中的数据。如果你打印print_r(env('visitor'));.那么你可以看到以下代码.
       UserVisitor Object ( [_info_key] => user_info [has_login] => [info] => Array ( [user_id] => 0 [user_name] => 游客 ) [privilege] => [_errors] => Array ( ) [_errnum] => 0 )
       里面的数据,你可以通过get方式得到


说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,51zixue.net不保证资料的完整性。
 
上一篇:ecmall中$GLOBALS['ECMALL_CONFIG']详解  下一篇:ecmall中_initFindParams函数的分析