2013-11-10 2 views
0

следующие мои данные сеанса, которые я получил из таблицы сеансов joomla. Теперь мой вопрос: я полностью потерялся между Jregistry и Jsession.Зависимость сеанса Joomla и реестра?

, что я нашел, читая код с JOOMLA платформы

Jregistry is not using session variable at all in set() and get(). 

Мой вопрос теперь, данные, хранящиеся в Jregistry передается в сессии, почему ?? и может кто-нибудь может направить меня на кусок кода, который может быть передан для передачи реестра на сеанс.

и функция, найденная в Japplication setUserState использует какой-либо реестр переменных сеанса, что это такое?

public function setUserState($key, $value) 
{ 
    $session = JFactory::getSession(); 
    $registry = $session->get('registry'); 

    if (!is_null($registry)) 
    { 
     return $registry->set($key, $value); 
    } 

    return null; 
} 

данные сеанса я нашел для пользователя гостя я это целое число, а s струнный

__default | а: 8: {s: 15: "session.counter"; я: 1; s: 19: "session.timer.start"; я: 1384090452; s: 18: "session.timer.last"; я: 1384090452; s: 17: "session.timer.now"; я: 1384090452; s: 22: «session.client.browser»; s: 107: «Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, например, Gecko) Chrome/17.0.963.33 Safari/535.11"; 0: 0: 0: 0: 0: 0: 0: 0: : 4: "пользователь"; O: 5: "JUser": 24: {s: 9: "\ 0 \ 0 \ 0isRoot", N; s: 2: "ID"; я: 0; s: 4:» имя "; N; s: 8:" имя пользователя "; N; s: 5:" электронная почта "; N; s: 8:" пароль "; N; s: 14:" password_clear "; s: 0:" "; с: 5: "блок", N; s: 9: "SendEmail"; я: 0; s: 12: "registerDate", N; s: 13: "lastvisitDate", N; s: 10: "активации"; N; s: 6: "PARAMS", N, s: 6: "группы"; а: 1: {I: 0; s: 2: "13";} s: 5: "гость"; я: 1; с: 13: "lastResetTime", N; s: 10: "resetCount", N; s: 10: "\ 0 \ 0 \ 0_params"; O: 9: "JRegistry": 1: {s: 7: "\ 0 \ 0 \ 0data "; O: 8:" StdClass ": 0: {}} s: 14:" \ 0 \ 0 \ 0_authGroups "N, s: 14:" \ 0 \ 0 \ 0_authLevels "; а: 3: {я: 0; я: 1; я: 1; я: 1; я: 2; я: 5;} s: 15: "\ 0 \ 0 \ 0_authActions", N; s: 12: "\ 0 \ 0 \ 0_errorMsg "N; s: 10:" \ 0 \ 0 \ 0_errors "; а: 0: {} s: 3:" помощь "я: 0;} s: 13:" session.token "; с: 32: "845b6df35056177aeb84ac26db333607";}

ответ

0

Данные проходят ed в JRegistry не сохраняется в сеансе.

JRegistry - класс, который обертывает многомерный массив и позволяет получить доступ к значениям, используя «.», Но сам JRegistry не имеет ничего общего с JSession.

Они используют JRegistry в качестве контейнера для массива данных.

Код сообщения, установленный для установки реестра: https://github.com/joomla/joomla-cms/blob/1d817d9762b0e4264d99f2257ce23dd68628df00/libraries/legacy/application/application.php#L1120.

+0

Почему я запутался в том, что строка в данных сеанса <<<< s: 8: «registry»; O: 9: «JRegistry»: 1: {s: 7: "\ 0 \ 0 \ 0data"; O : 8: «stdClass»: 0: {}} >>> показывает объект Jregistry. – arslan

+0

и в методе setUserState() он принимает реестр из переменной сеанса и обновляет его – arslan

Смежные вопросы