Какова цель%mdat (по сравнению с%udat) в Embperl?
Я видел, что обработка сессии упомянула %mdat
так же как %udat
хэш. В чем разница и когда и почему я должен использовать %mdat
хэш?
1 ответ
Как отмечено в Embperl POD,
Вы можете хранить любые данные в
%mdat
хэш, и если какой-либо запрос поступит в тот же документ Embperl, вы снова увидите те же значения в этом хэше.
Также обратите внимание, что формулировка "вы увидите" в POD выше несколько вводит в заблуждение, что может привести к вашей путанице.
Основная документация Embperl дает более точный ответ, который устраняет путаницу:
В следующий раз, когда любой пользователь перейдет на ту же страницу Embperl, Embperl заполнит
%mdat
хеш отApache::Session
с теми же значениями, которые вы сохранили в последнем запросе к этой странице.
Обратите внимание, текст, который я выделил жирным шрифтом, - любой пользователь. Типичные данные сеанса (как хранятся в %udat
) хранится и доступен только для конкретного пользователя.
Следовательно, %mdat
действует как своеобразное хранилище отдельных страниц, но не зависит от пользователя.
Чтобы ответить на ваш вопрос "когда", пример использования %mdat
на практике будет счетчик посещений за страницу.