function drupal_set_page_content($content = NULL) {
$content_block = &drupal_static(__FUNCTION__, NULL);
$main_content_display = &drupal_static('system_main_content_added', FALSE);
if (!empty($content)) {
$content_block = (is_array($content) ? $content : array('main' => array('#markup' => $content)));
}
else {
$main_content_display = TRUE;
return $content_block;
}
}
Cet extrait est collé à partir de common.inc. Nous passons un __FUNCTION__
à drupal_static()
mais je ne sais pas ce que signifie cette variable. Cela signifie-t-il un cache pour la fonction externe elle-même? Comment ça marche? Je ne vois aucune donnée gérée dans la fonction avant son retour $content_block
.
if
déclarationdrupal_static
tient un registre de caches pour toutes les fonctions du système qui l'utilisent.drupal_static
plutôt que&drupal_static
?Vous trouverez des informations détaillées sur http://blogs.sourceallies.com/2012/02/static-caching-in-drupal/ . En voici une citation:
la source