• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    3年前 (2016-03-04)  ecshop |   抢沙发  39 
    文章评分 0 次,平均分 0.0

    今天想对user表加个字段,打开user.php发现有个$user,其中它有很多方法,像登陆,注册,退出。都要用到它。可找了大半天也找不到这个函数调用的是哪个类。又坚持找了半天,发现$user在init.php中有个这样的方法$user = & init_users(); 接着往下找,在lib_common.php中发现了init_users()这个函数:代码如下

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

    当单击'注册'按钮时,进入user.php中的 elseif ($action == 'act_register')下面的register()函数调用lib_passport.php中的register()函数,lib_passprot.php的register()函数里面调用add_user()函数,此函数是include/modules/integrates/integrate.php中的函数;

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/4668.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享