JSession::getFormToken() против JUtility::getToken()

Гайз, я довольно часто видел и то, и другое в практическом использовании...

JSession::getFormToken() vs JUtility::getToken()

Теперь я хочу знать, одинаковы ли они (тогда почему названы по-разному), принадлежат ли они разным Joomla! версии, и если одна из них предпочтительнее, какую мне следует использовать?

Примечание. Я достаточно искал, и я должен сказать, что оба они используются одинаково, в официальных документах, учебниках, ответах stackoverflow и т. Д.

ОБНОВЛЕНИЕ:- По состоянию на 7 февраля 2014 г. официальные страницы обоих JSession::getFormToken() и JUtility::getToken() показывает это предупреждение..

Уведомление об устаревшей версии Joomla

Хотя эта страница явно предназначена для 2.5-3.xx заявляет об использовании

JSession::getFormToken()

person Mohd Abdul Mujib    schedule 07.02.2014    source источник


Ответы (2)


Я могу сказать только одно различие с этими двумя.

Он основан на версии API Joomla. JUtility::getToken() доступен в Joomla 1.5, а JSession::getFormToken доступен в Joomla 1.6.

На самом деле оба выполняют одну и ту же задачу, как здесь и это. Таким образом, в будущем JUtility::getToken() может быть обесценено или удалено из последних версий, как это сделала Joomla для DS константы. Она доступна с J1.5 по J2.5, но на J3.x она удалена, и они используют DIRECTORY_SEPARATOR.

person Jobin    schedule 07.02.2014
comment
Но atm, оба отображают устаревшее уведомление на обеих ссылках, которые вы разместили, что выглядит следующим образом ... Это пространство имен было заархивировано - пожалуйста, не редактируйте и не создавайте страницы в этом пространстве имен. Страницы содержат информацию для Joomla! версия, которая больше не поддерживается. Он существует только как историческая справка, не будет улучшаться и его содержание может быть неполным. - person Mohd Abdul Mujib; 07.02.2014
comment
оба показывают такое предупреждение, но в последней версии Joomla используется метод Jession::, а Jutility даже не используется в Joomla3.x. - person Jobin; 07.02.2014

По моему мнению, страницы документации Joomla обновляются. Вот почему вы получаете эти сообщения «Пространство имен было заархивировано». Используйте http://api.joomla.org, чтобы найти новую документацию.

JUtility::getToken() устарела. См.: http://api.joomla.org/cms-2.5/classes/JUtility.html#method_getToken. Он говорит вам использовать JSession::getFormToken().

person Herman    schedule 13.02.2014
comment
Вы имели в виду ... страницы документации Joomla «устарели»? - person Mohd Abdul Mujib; 14.02.2014
comment
@wardha-Web Я не знаю всех подробностей, но ссылки, на которые вы ссылались для JSession::getFormToken() и JUtility::getToken(), предназначены для Joomla 1.7 и поэтому «устарели». Что я имел в виду под «обновленным», так это то, что документация для API Joomla 2.5 была помещена на api.joomla.org вместо docs.joomla.org и с новым макетом. - person Herman; 14.02.2014