/** * @return PhotoStorage */ public function getPhotoStorage() { switch ($this->storage->driver()) { case Storage::STORAGE_LOCAL: return new PhotoLocalStorage(LocalStorageConfig::getInstanceByArray($this->storage->config())); break; case Storage::STORAGE_S3_AMAZON: return new AmazonS3PhotoStorage(AmazonS3Config::getInstanceByArray($this->storage->config()), $this->thumbGeneratorConfig); break; default: throw new \InvalidArgumentException(sprintf('Invalid storage driver "%s"', $this->storage->driver())); break; } }