Какова цель%mdat (по сравнению с%udat) в Embperl?

Я видел, что обработка сессии упомянула %mdat так же как %udat хэш. В чем разница и когда и почему я должен использовать %mdat хэш?

1 ответ

Как отмечено в Embperl POD,

Вы можете хранить любые данные в %mdat хэш, и если какой-либо запрос поступит в тот же документ Embperl, вы снова увидите те же значения в этом хэше.

Также обратите внимание, что формулировка "вы увидите" в POD выше несколько вводит в заблуждение, что может привести к вашей путанице.

Основная документация Embperl дает более точный ответ, который устраняет путаницу:

В следующий раз, когда любой пользователь перейдет на ту же страницу Embperl, Embperl заполнит %mdat хеш от Apache::Session с теми же значениями, которые вы сохранили в последнем запросе к этой странице.

Обратите внимание, текст, который я выделил жирным шрифтом, - любой пользователь. Типичные данные сеанса (как хранятся в %udat) хранится и доступен только для конкретного пользователя.

Следовательно, %mdat действует как своеобразное хранилище отдельных страниц, но не зависит от пользователя.

Чтобы ответить на ваш вопрос "когда", пример использования %mdat на практике будет счетчик посещений за страницу.

Другие вопросы по тегам