Drupal具有特定的功能,可以帮助与Web服务通信以及处理JSON输入。
Drupal 7具有以下功能:
使用这些功能,您可以编写自己的自定义模块,以向实现Web服务的站点发出请求。
如果对Web服务器可以执行的请求数量有一些限制,则可以使用Drupal函数来缓存从Web服务器获得的结果:
请注意,Drupal支持多个缓存箱,模块在必要时可以使用自己的缓存箱。
Drupal还支持在连续的缓存轻扫时自动删除的缓存项(请参阅CACHE_TEMPORARY常量的说明)。通过实现hook_flush_caches(),这些模块允许管理员用户在单击“性能”页面上的“清除”按钮时或模块调用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()的一部分。