Drupal tiene funciones específicas que pueden ayudarlo a comunicarse con un servicio web y a manejar la entrada JSON.
Drupal 7 tiene las siguientes funciones:
Con esas funciones, puede escribir su propio módulo personalizado para realizar solicitudes a un sitio que implementa un servicio web.
Si hay algunas restricciones sobre la cantidad de solicitudes que se pueden hacer al servidor web, puede usar las funciones de Drupal para almacenar en caché el resultado obtenido del servidor web:
Para notar que Drupal admite más de un contenedor de caché, y los módulos pueden usar sus propios contenedores de caché, cuando sea necesario.
Drupal también admite elementos de caché que se eliminan automáticamente en el deslizamiento sucesivo de caché (consulte la descripción de la constante CACHE_TEMPORARY ). Implementando hook_flush_caches () , los módulos permiten a los usuarios administradores limpiar la memoria caché utilizada por el módulo cuando se hace clic en el botón "Borrar" en la página "Rendimiento", o cada vez que un módulo llama a drupal_flush_all_caches () .
En Drupal 7, los datos de caché para los datos de uso frecuente están asociados con una variable estática manejada con drupal_static () . Cuando los datos se usan con mucha frecuencia al generar la misma página, se usa un código similar al siguiente:
// 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;
}
}
El código es parte de module_implements () .