* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class Chunks { /** @var string|null */ private $namespace; /** @var array */ private $parts = []; /** * @param string|null $namespace */ public function __construct(?string $namespace = null) { $this->namespace = $namespace; } /** * @param string $identifier * @param string $code */ public function append(string $identifier, string $code) { $this->parts[$identifier] = $code; } /** * @param Chunks $chunks */ public function merge(Chunks $chunks) { foreach ($chunks->getChunks() as $identifier => $code) { $this->append($identifier, $code); } } /** * @return string|null */ public function getNamespace(): ?string { return $this->namespace; } /** * @return array */ public function getChunks() { return $this->parts; } /** * Writes this chunk collection as zip archive to the provided file * * @param string $file */ public function writeTo(string $file) { $zip = new \ZipArchive(); $zip->open($file, \ZipArchive::CREATE); foreach ($this->getChunks() as $identifier => $code) { $zip->addFromString($identifier, $code); } $zip->close(); } /** * @return string */ public function __toString() { return implode("\n", $this->getChunks()); } } __halt_compiler();----SIGNATURE:----N7dPUoIkZzQuGLuzDl4SxXqfbzKfZkET8BfQJjG6ZGsPOEtNoKYWYQBUdJDcCQ1h/xMzKfo7fLhUf8h0BASmi7+LGeeqfs6yX40oeds76bdFdbryI84n8IDPtYROpolxfgpf7+2AFmqE+rLZgZlC4gpBUjMxmOFhDFWMl4keG5kR/3evtiY86Co6aj8AaXMNquMDvTpVZF6ZLDbMxpdUeBEhaOQVjGglUyrON9yQAn+lbjnWdYjvgXICvDGVjBhiZ/ifOEhBZVBYazLuzD6nuMqops6aIax9+59dhOwBRAAnHvdxYsaQ1OPaX0piUaC1t9G5AlUZMPHXxRiA3LmAd5D8OA4uQ2nB77ZP0/j7JoCFLB47dgo8m8m+EGl2tTKKBxYYjMJfB2Z8BPTdCM48Lu3zUcVOE4y7L+jIye3kZ1MOAMtbfygWtbzUlV4Nh4L5mOT6OqIk+TFSdeibnDicMWcx67Co+KwnW9QwDkG7ldEqhXIxJhwxk+dPR+V1WlbO/Uuv3oO9rbEd2l2/B1UgbhuJ59bsFSyh7OIbfjeMS9fRfyWssL1H/O80Afr4NQj/5eQ4wxkaRmhNam9U/CmUoh114/n0/yEYEVcTf4gJmlnUQIK6vPmHktTjKzafC+PUJAD9lkLoH4LjVpUvV2McPKgj5TX8nOQOrgqlaRv3s+8=----ATTACHMENT:----MzAyMzA1MjgzMDg2NTA3MiAyNTMxMzkyOTE5NzEyODk4IDY3OTA5NjI4NDA1NDMwNg==