From fcbae4572c12d599c65301b7f174d92f24801746 Mon Sep 17 00:00:00 2001 From: Steven Wittens Date: Thu, 11 Jan 2007 03:36:06 +0000 Subject: #108310: Minor speed up, cache theme functions in theme_get_function(). --- includes/theme.inc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'includes') diff --git a/includes/theme.inc b/includes/theme.inc index 4a3acecb9..a5aab93ea 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -159,11 +159,15 @@ function list_theme_engines($refresh = FALSE) { * An HTML string that generates the themed output. */ function theme() { + static $functions; $args = func_get_args(); $function = array_shift($args); - if ($func = theme_get_function($function)) { - return call_user_func_array($func, $args); + if (!isset($functions[$function])) { + $functions[$function] = theme_get_function($function); + } + if ($functions[$function]) { + return call_user_func_array($functions[$function], $args); } } -- cgit v1.2.3