parentWriter = $writer; } /** * Get parent writer * * @throws \PhpOffice\PhpWord\Exception\Exception * @return \PhpOffice\PhpWord\Writer\AbstractWriter */ public function getParentWriter() { if (!is_null($this->parentWriter)) { return $this->parentWriter; } throw new Exception('No parent WriterInterface assigned.'); } /** * Get XML Writer * * @return \PhpOffice\Common\XMLWriter */ protected function getXmlWriter() { $useDiskCaching = false; if (!is_null($this->parentWriter)) { if ($this->parentWriter->isUseDiskCaching()) { $useDiskCaching = true; } } if ($useDiskCaching) { return new XMLWriter(XMLWriter::STORAGE_DISK, $this->parentWriter->getDiskCachingDirectory(), Settings::hasCompatibility()); } return new XMLWriter(XMLWriter::STORAGE_MEMORY, './', Settings::hasCompatibility()); } }