. * * @package TeamSpeak3 * @version 1.1.24 * @author Sven 'ScP' Paulsen * @copyright Copyright (c) 2010 by Planet TeamSpeak. All rights reserved. */ /** * @class TeamSpeak3_Helper_Profiler * @brief Helper class for profiler handling. */ class TeamSpeak3_Helper_Profiler { /** * Stores various timers for code profiling. * * @var array */ protected static $timers = array(); /** * Inits a timer. * * @param string $name * @return void */ public static function init($name = "default") { self::$timers[$name] = new TeamSpeak3_Helper_Profiler_Timer($name); } /** * Starts a timer. * * @param string $name * @return void */ public static function start($name = "default") { if(array_key_exists($name, self::$timers)) { self::$timers[$name]->start(); } else { self::$timers[$name] = new TeamSpeak3_Helper_Profiler_Timer($name); } } /** * Stops a timer. * * @param string $name * @return void */ public static function stop($name = "default") { if(!array_key_exists($name, self::$timers)) { self::init($name); } self::$timers[$name]->stop(); } /** * Returns a timer. * * @param string $name * @return TeamSpeak3_Helper_Profiler_Timer */ public static function get($name = "default") { if(!array_key_exists($name, self::$timers)) { self::init($name); } return self::$timers[$name]; } }