/** * Retrieve the Cache object by its configured type and options. * * @param $type * @param array $options * @return CacheInterface */ public static function get($type, array $options) { if (self::TYPE_STASH == $type) { $cache = new StashCache(); } elseif (self::TYPE_DOCTRINE == $type) { $cache = new DoctrineCache(); } elseif (self::TYPE_NONE == $type) { $cache = new NoCache(); } else { throw new InvalidArgumentException(sprintf('Unknown cache type "%s".', $type)); } $cache->setOptions($options); return $cache; }