public function __construct($config = array()) { parent::__construct($config); if (!$this->_cache || $this->_cache === TRUE) { $this->_cache = CachePlugin::init(); } }
/** * Get Form from Cache! * * @param string $form * @param AbstractModel|array $values * @return AbstractForm */ public static function get($form = '', $values = null) { if (empty($form)) { return null; } $cache = CachePlugin::init('Core', is_null($values) ? null : 7200); $name = 'form_' . $form; if (!is_null($values)) { $name .= '_' . md5(print_r($values, true)); } if (isset(self::$_forms[$name])) { return self::$_forms[$name]; } else { if (($object = $cache->load($name)) === false) { $class = ucwords(preg_replace('/(_|\\-)/', ' ', $form)); $class = str_replace(' ', '', $class) . 'Form'; $object = new $class($values); $cache->save($object, $name); } } self::$_forms[$name] = $object; return self::$_forms[$name]; }