的Joomla! 2.5:将值设置为受保护变量

时间:2015-01-12 11:48:25

标签: php session joomla

我正在尝试将新变量设置为受保护对象'数据'在JRegistry对象中(在$ _SESSION变量中):

["registry"]=> object(JRegistry)#22 (1) { 

    ["data":protected]=> object(stdClass)#23 (3) {

        ["users"]=> object(stdClass)#24 (1) { 
            …
        } 
        // here is my new variable supposed to be
    }
}

我尝试使用

JRegistry::set($_SESSION['__default']['registry']->data, $test);

JRegistry::setValue($_SESSION['__default']['registry']->data, $test);

但两种方式都会引发错误消息"无法访问受保护的属性JRegistry :: $ data"。 有没有办法写INTO这个受保护的变量?

1 个答案:

答案 0 :(得分:1)

您错误地使用了JRegistry次调用,未传递全局变量$ _SESSION。

set()setValue()来电的签名是:

public function set($path, $value)

public function setValue($path, $value)

N.B。 请注意,我们已弃用setValue()

获得JRegistry对象后,您可以通过传递$path属性(例如,注册表路径,例如'joomla.content.showauthor')和值来设置值。 / p>