/** * {@inheritdoc} */ public function publishDirectory($directory, $destination, $merge = self::OVERWRITE, $mode = FilesInterface::READONLY) { if (!$this->files->isDirectory($directory)) { throw new PublishException("Given '{$directory}' is not valid directory."); } $finder = new Finder(); $finder->files()->in($directory); /** * @var SplFileInfo $file */ foreach ($finder->getIterator() as $file) { $this->publish((string) $file, $destination . '/' . $file->getRelativePathname(), $merge, $mode); } }