* @license http://www.contenido.org/license/LIZENZ.txt * @link http://www.4fb.de * @link http://www.contenido.org * * {@internal * created 2007-03-27 * modified 2008-05-07 Added Debug_DevNull, extended Exception message. * modified 2008-05-21 Added Debug_VisibleAdv * * $Id$: * }} * */ if(!defined('CON_FRAMEWORK')) { die('Illegal call'); } /** * */ class DebuggerFactory { /** * * @param type $sType * @return Debug_VisibleAdv */ public static function getDebugger($sType) { $oDebugger = null; switch ($sType) { case 'visible': include_once('Debug_Visible.class.php'); $oDebugger = Debug_Visible::getInstance(); break; case 'visible_adv': include_once('Debug_VisibleAdv.class.php'); /** @var $oDebugger Debug_VisibleAdv */ $oDebugger = Debug_VisibleAdv::getInstance(); break; case 'hidden': include_once('Debug_Hidden.class.php'); $oDebugger = Debug_Hidden::getInstance(); break; case 'file': include_once('Debug_File.class.php'); $oDebugger = Debug_File::getInstance(); break; case 'devnull': include_once('Debug_DevNull.class.php'); $oDebugger = Debug_DevNull::getInstance(); break; default: throw new InvalidArgumentException('This type of debugger is unknown to DebuggerFactory: '.$sType); break; } return $oDebugger; } } ?>