. * * PHP version 5.1.6+ * * @category Security * @package PHPIDS * @author Mario Heiderich * @author Christian Matthies * @author Lars Strojny * @license http://www.gnu.org/licenses/lgpl.html LGPL * @link http://php-ids.org/ */ /** * Caching factory * * This class is used as a factory to load the correct concrete caching * implementation. * * @category Security * @package PHPIDS * @author Christian Matthies * @author Mario Heiderich * @author Lars Strojny * @copyright 2007-2009 The PHPIDS Group * @license http://www.gnu.org/licenses/lgpl.html LGPL * @version Release: $Id:Factory.php 517 2007-09-15 15:04:13Z mario $ * @link http://php-ids.org/ * @since Version 0.4 */ class IDS_Caching { /** * Factory method * * @param object $init the IDS_Init object * @param string $type the caching type * * @return object the caching facility */ public static function factory($init, $type) { $object = false; $wrapper = preg_replace( '/\W+/m', null, ucfirst($init->config['Caching']['caching']) ); $class = 'IDS_Caching_' . $wrapper; $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . $wrapper . '.php'; if (file_exists($path)) { include_once $path; if (class_exists($class)) { $object = call_user_func(array($class, 'getInstance'), $type, $init); } } return $object; } } /** * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 expandtab */