/** * @param string $destination */ public function copyToDestination($destination) { $resources = $this->configuration->getOption(CO::TEMPLATE)['resources']; foreach ($resources as $resourceSource => $resourceDestination) { // File if (is_file($resourceSource)) { copy($resourceSource, FileSystem::forceDir($destination . '/' . $resourceDestination)); continue; } // Dir /** @var RecursiveDirectoryIterator $iterator */ $iterator = Finder::findFiles('*')->from($resourceSource)->getIterator(); foreach ($iterator as $item) { /** @var SplFileInfo $item */ copy($item->getPathName(), FileSystem::forceDir($destination . '/' . $resourceDestination . '/' . $iterator->getSubPathName())); } } }