/** * @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, $this->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(), $this->fileSystem->forceDir($destination . '/' . $resourceDestination . '/' . $iterator->getSubPathName())); } } }
/** * @param array $source * @param string $destination */ public function copy(array $source, $destination) { foreach ($source as $resourceSource => $resourceDestination) { if (is_file($resourceSource)) { copy($resourceSource, FileSystem::forceDir($destination . '/' . $resourceDestination)); continue; } else { /** @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())); } } } }