Drupal memiliki fungsi spesifik yang dapat membantu berkomunikasi dengan layanan web, dan menangani input JSON.
Drupal 7 memiliki fungsi-fungsi berikut:
Dengan fungsi-fungsi itu Anda dapat menulis modul khusus Anda sendiri untuk membuat permintaan ke situs yang mengimplementasikan layanan web.
Jika ada beberapa batasan tentang jumlah permintaan yang dapat dilakukan ke server web, Anda dapat menggunakan fungsi Drupal untuk men-cache hasil yang diperoleh dari server web:
Untuk memperhatikan bahwa Drupal mendukung lebih dari satu nampan cache, dan modul dapat menggunakan nampan cache mereka sendiri, bila perlu.
Drupal juga mendukung item cache yang secara otomatis dihapus pada gesekan cache berturut-turut (lihat deskripsi untuk konstanta CACHE_TEMPORARY ). Menerapkan hook_flush_caches () , modul memungkinkan pengguna administrator untuk membersihkan cache yang digunakan oleh modul ketika tombol "Clear" pada halaman "Performance" diklik, atau setiap kali modul memanggil drupal_flush_all_caches () .
Dalam Drupal 7, data cache untuk data yang sering digunakan dikaitkan dengan variabel statis yang ditangani dengan drupal_static () . Ketika data benar-benar sering digunakan saat mengeluarkan halaman yang sama, kode yang mirip dengan yang berikut ini digunakan:
// 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;
}
}
Kode ini adalah bagian dari module_implements () .