Пример #1
0
 /**
  * Производит конфигурирование компонента
  * @param array $config опции конфигурации
  * @return StashCacher
  * @throws ConfigurationError
  */
 public function configure(array $config = [])
 {
     if (!isset($config['driver']['class'])) {
         throw new ConfigurationError(self::ERR__CACHER_DRIVER_CLASS);
     }
     if (!isset($config['driver']['options'])) {
         throw new ConfigurationError(self::ERR__CACHER_DRIVER_OPTIONS);
     }
     /* @var DriverInterface $driver */
     $driver = new $config['driver']['class']();
     $driver->setOptions($config['driver']['options']);
     $this->impl = new Pool($driver);
     return parent::configure($config);
 }
Пример #2
0
 /**
  * Конфигурирует экземпляр кэшера
  * @param array $config опции конфигурации
  * @return void
  * @throws ConfigurationError
  */
 private function configureCacher(array $config = [])
 {
     if (isset($config['__cacher'])) {
         $cacherOptions = $config['__cacher'];
         if (!isset($cacherOptions['class'])) {
             throw new ConfigurationError(self::ERR__CACHER_CLASS);
         }
         if (!isset($cacherOptions['options'])) {
             throw new ConfigurationError(self::ERR__CACHER_OPTIONS);
         }
         $this->cacher = new $cacherOptions['class']();
         $this->cacher->configure($cacherOptions['options']);
         if (isset($cacherOptions['expires'])) {
             $this->expires = $cacherOptions['expires'];
         }
     }
 }