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;
}
}
Этот фрагмент вставлен из common.inc. Мы переходим __FUNCTION__
к, drupal_static()
но я не знаю, что означает эта переменная. Означает ли это кеш для самой внешней функции? Как это работает? Я не вижу никаких данных, обработанных внутри функции, до ее возвращения $content_block
.
if
оператораdrupal_static
хранит реестр кэшей для всех функций в системе, которые его используют.drupal_static
а не&drupal_static
?Подробную информацию вы получите по адресу http://blogs.sourceallies.com/2012/02/static-caching-in-drupal/ . Вот цитата из этого:
источник