parentWriter = $writer; } /** * Get parent writer * * @return \PhpOffice\PhpWord\Writer\WriterInterface * @throws \PhpOffice\PhpWord\Exception\Exception */ public function getParentWriter() { if (!is_null($this->parentWriter)) { return $this->parentWriter; } else { throw new Exception('No parent WriterInterface assigned.'); } } /** * Get XML Writer * * @return \PhpOffice\PhpWord\Shared\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()); } else { return new XMLWriter(XMLWriter::STORAGE_MEMORY); } } }