首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >找不到类'PhpOffice\PhpWord\TemplateProcessor‘

找不到类'PhpOffice\PhpWord\TemplateProcessor‘
EN

Stack Overflow用户
提问于 2019-04-09 22:17:05
回答 3查看 3.6K关注 0票数 0

我在/libraries/PhpOffice/ PHPWORD /目录中有PhpWord。我尝试在app (Joomla网站)的其他部分完全使用它,如下所示:

代码语言:javascript
复制
require_once JPATH_LIBRARIES.'/vendor/autoload.php'; //composer
require_once JPATH_LIBRARIES.'/PhpOffice/PhpWord/PhpWord.php';
$Wzor = new \PhpOffice\PhpWord\TemplateProcessor(JPATH_ROOT.'/images/powiadomienia/SzablonPowiadomienia.docx');

但我得到了错误:

找不到

类'PhpOffice\PhpWord\TemplateProcessor‘

我尝试了许多变体和路径,我尝试阅读在线帮助,但总是得到相同的结果。我能要求一些帮助和指导吗?如何在我的脚本中包含这样的类?

EN

回答 3

Stack Overflow用户

发布于 2019-04-10 02:46:53

使用/vendor文件夹,而不是“库”(参见下面的原因)。

在您的项目文件夹中:

代码语言:javascript
复制
composer require phpoffice/phpword

然后:

代码语言:javascript
复制
require_once JPATH_ROOT.'/vendor/autoload.php';
$Wzor = new \PhpOffice\PhpWord\TemplateProcessor(JPATH_ROOT.'/images/powiadomienia/SzablonPowiadomienia.docx');

警告:

千万不要在"/libraries“文件夹中运行"composer ”,因为它会在更新的版本中删除Joomla核心。这是因为人们正在使用这个文件夹,为了强调不应该使用它,Joomla核心团队删除了其中的composer.json文件。正因为如此,当尝试在此文件夹上添加库时,Joomla核心将被清除。

为什么不使用"/libraries"

来自https://docs.joomla.org/J3.x:Using_Composer_with_Joomla

可以通过Composer安装任何额外的库吗?

目前在Joomla不是这样!3.4。从长远来看,CMS的目标是你可以下载额外的包。为了强调这一点,我们还不会在主Joomla中发布composer.json文件!下载.

票数 2
EN

Stack Overflow用户

发布于 2019-04-10 20:46:30

从我发现的问题是使用了框架- Joomla。它有自己的方法来发现类。我必须将文件放到/libraries/src文件夹中,然后放入以下代码才能使用这个类:

代码语言:javascript
复制
JLoader::registerNamespace('PhpOffice', JPATH_LIBRARIES . '/src');
$objPHPWord = new \PhpOffice\PhpWord\PhpWord();
票数 1
EN

Stack Overflow用户

发布于 2021-10-22 09:43:20

您需要使用composer安装phpoffice/phpword

代码语言:javascript
复制
composer require phpoffice/phpword
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55594981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档