Я пытаюсь установить новую переменную в данные защищенного объекта в объекте 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 в эту защищенную переменную?
Вы неправильно используете вызовы JRegistry
, вы не передаете глобальную переменную $ _SESSION в.
Подписи для вызовов set()
и setValue()
:
public function set($path, $value)
а также
public function setValue($path, $value)
NB Обратите внимание, что setValue()
устарел.
Когда у вас есть объект JRegistry
вы устанавливаете значения, передавая атрибут $path
(например, путь к реестру, например, "joomla.content.showauthor") и значение.