Autor Wątek: [Symfony 3.3] Problem z biblioteką PHPWord - Attempted to load class "PhpWord"  (Przeczytany 136 razy)

savage.mephisto

  • Newbie
  • *
  • Wiadomości: 39
    • Zobacz profil
Witajcie, drodzy Forumowicze.
W pewnym projekcie programistycznym opartym o framework Symfony 3.3 potrzebuję wygenerować plik w formacie doc z pewną zawartością. Wybór padł na darmową bibliotekę PHPWord w wersji 0.16, którą zainstalowałem korzystając z composera. Opierając się o tutorial (https://ourcodeworld.com/articles/read/361/how-to-create-a-word-file-with-php-in-symfony-3), próbowałem skorzystać z jej "dobrodziejstw". Niestety, mam problem z przestrzenią nazw.

Monit, który otrzymuję jest następujący:
Cytuj
Attempted to load class "PhpWord" from namespace "PhpOffice\PhpWord". Did you forget a "use" statement for another namespace?

W kontrolerze wywołuję bibliotekę w poniższy sposób:
    use PhpOffice\PhpWord\PhpWord;
    use PhpOffice\PhpWord\IOFactory;

    public function generateDocAction(Request $request)
    {
        require_once $this->get('kernel')->getRootDir() . '/../vendor/autoload.php';

        $phpWord = new \PhpOffice\PhpWord\PhpWord();
        $section = $phpWord->addSection();

        $section->addText(
            '"Learn from yesterday, live for today, hope for tomorrow. '
            . 'The important thing is not to stop questioning." '
            . '(Albert Einstein)'
        );

        $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
        $fileName = 'download_file.docx';
        $temp_file = tempnam(sys_get_temp_dir(), $fileName);
        $objWriter->save($temp_file);

        $response = new BinaryFileResponse($temp_file);
        $response->setContentDisposition(
            ResponseHeaderBag::DISPOSITION_ATTACHMENT,
            $fileName
        );

        return $response;
    }

Debuger zatrzymuje się na linijce:
$phpWord = new \PhpOffice\PhpWord\PhpWord();

Zmieniłem na:
$phpWord = new PhpWord();
i ten sam objaw, co wyżej.

Próbowałem różnych zabiegów, mających na celu eliminację wspomnianego błędu, ale bez rezultatu.
Czy ktoś z Was korzystał z tego shitu i podpowie na co należy zwrócić uwagę i co zrobić, aby to działało jak należy?

Będę wdzięczny za zainteresowanie tematem i pomoc.