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;
}
}
Ten fragment został wklejony z pliku common.inc. Przechodzimy __FUNCTION__
do, drupal_static()
ale nie wiem, co oznacza ta zmienna. Czy to oznacza pamięć podręczną dla samej funkcji zewnętrznej? Jak to działa? Nie widzę żadnych danych obsługiwanych wewnątrz funkcji przed jej zwróceniem $content_block
.
if
instrukcjidrupal_static
utrzymuje rejestr pamięci podręcznych dla wszystkich funkcji w systemie, który go używa.drupal_static
zamiast&drupal_static
?Szczegółowe informacje znajdziesz na stronie http://blogs.sourceallies.com/2012/02/static-caching-in-drupal/ . Oto cytat z tego:
źródło