У Drupal есть специальные функции, которые могут помочь в общении с веб-сервисом и обработке ввода JSON.
Drupal 7 имеет следующие функции:
С помощью этих функций вы можете написать свой собственный модуль для отправки запросов на сайт, реализующий веб-сервис.
Если существуют некоторые ограничения на количество запросов, которые могут быть сделаны к веб-серверу, вы можете использовать функции Drupal для кэширования результатов, полученных с веб-сервера:
Заметьте, что Drupal поддерживает более одной корзины, и модули могут использовать свои собственные корзины, когда это необходимо.
Drupal также поддерживает элементы кэша, которые автоматически удаляются при последовательном пролистывании кэша (см. Описание константы CACHE_TEMPORARY ). Реализация hook_flush_caches () , модули позволяют пользователям администраторских очистить кэш , используемый модулем , когда кнопка «Очистить» на странице «Performance» нажата, или любое время модуль вызывает drupal_flush_all_caches () .
В Drupal 7 данные кэша для часто используемых данных связаны со статической переменной, обрабатываемой с помощью drupal_static () . Когда данные действительно часто используются при выводе одной и той же страницы, используется код, подобный следующему:
// Use the advanced drupal_static() pattern, since this is called very often.
static $drupal_static_fast;
if (!isset($drupal_static_fast)) {
$drupal_static_fast['implementations'] = &drupal_static(__FUNCTION__);
}
$implementations = &$drupal_static_fast['implementations'];
// …
// Fetch implementations from cache.
if (empty($implementations)) {
$implementations = cache_get('module_implements', 'cache_bootstrap');
if ($implementations === FALSE) {
$implementations = array();
}
else {
$implementations = $implementations->data;
}
}
Код является частью module_implements () .