From 76f1f380a383ec6dc0a07f0e00cfa6e8feebf4e2 Mon Sep 17 00:00:00 2001 From: rMalie Date: Fri, 30 Dec 2011 10:37:07 +0000 Subject: [PATCH] // Improve Hook::getIdByName() performance (side effet : improve new installer performance) git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@11928 b9a71923-0436-4b27-9f14-aed3839534dd --- classes/Hook.php | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/classes/Hook.php b/classes/Hook.php index d7484d667..7456b5375 100644 --- a/classes/Hook.php +++ b/classes/Hook.php @@ -120,15 +120,19 @@ class HookCore extends ObjectModel if (!Validate::isHookName($hook_name)) die(Tools::displayError()); - $retro_hook_name = Hook::getRetroHookName($hook_name); + $cache_id = 'hook_idbyname_'.$hook_name; + if (!Cache::isStored($cache_id)) + { + $retro_hook_name = Hook::getRetroHookName($hook_name); + Cache::store($cache_id, Db::getInstance()->getValue(' + SELECT `id_hook` + FROM `'._DB_PREFIX_.'hook` + WHERE `name` = \''.pSQL($hook_name).'\' + OR `name` = \''.pSQL($retro_hook_name).'\' + ')); + } - $result = Db::getInstance()->getRow(' - SELECT `id_hook`, `name` - FROM `'._DB_PREFIX_.'hook` - WHERE `name` = \''.pSQL($hook_name).'\' - OR `name` = \''.pSQL($retro_hook_name).'\''); - - return ($result ? $result['id_hook'] : false); + return Cache::retrieve($cache_id); } /**