defaultConfigClass)) { throw new Exception\RuntimeException(sprintf( 'Unable to locate config class "%s"; class does not exist', $this->defaultConfigClass )); } $config = new $this->defaultConfigClass(); if (! $config instanceof Config) { throw new Exception\RuntimeException(sprintf( 'Default config class %s is invalid; must implement %s\Config\ConfigInterface', $this->defaultConfigClass, __NAMESPACE__ )); } } $this->config = $config; // init storage if ($storage === null) { if (! class_exists($this->defaultStorageClass)) { throw new Exception\RuntimeException(sprintf( 'Unable to locate storage class "%s"; class does not exist', $this->defaultStorageClass )); } $storage = new $this->defaultStorageClass(); if (! $storage instanceof Storage) { throw new Exception\RuntimeException(sprintf( 'Default storage class %s is invalid; must implement %s\Storage\StorageInterface', $this->defaultConfigClass, __NAMESPACE__ )); } } $this->storage = $storage; // save handler if ($saveHandler !== null) { $this->saveHandler = $saveHandler; } $this->validators = $validators; } /** * Set configuration object * * @param Config $config * @return AbstractManager */ public function setConfig(Config $config) { $this->config = $config; return $this; } /** * Retrieve configuration object * * @return Config */ public function getConfig() { return $this->config; } /** * Set session storage object * * @param Storage $storage * @return AbstractManager */ public function setStorage(Storage $storage) { $this->storage = $storage; return $this; } /** * Retrieve storage object * * @return Storage */ public function getStorage() { return $this->storage; } /** * Set session save handler object * * @param SaveHandler $saveHandler * @return AbstractManager */ public function setSaveHandler(SaveHandler $saveHandler) { $this->saveHandler = $saveHandler; return $this; } /** * Get SaveHandler Object * * @return SaveHandler */ public function getSaveHandler() { return $this->saveHandler; } }