我在/libraries/PhpOffice/ PHPWORD /目录中有PhpWord。我尝试在app (Joomla网站)的其他部分完全使用它,如下所示:
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‘
我尝试了许多变体和路径,我尝试阅读在线帮助,但总是得到相同的结果。我能要求一些帮助和指导吗?如何在我的脚本中包含这样的类?
发布于 2019-04-10 02:46:53
使用/vendor
文件夹,而不是“库”(参见下面的原因)。
在您的项目根文件夹中:
composer require phpoffice/phpword
然后:
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文件!下载.
发布于 2019-04-10 20:46:30
从我发现的问题是使用了框架- Joomla。它有自己的方法来发现类。我必须将文件放到/libraries/src文件夹中,然后放入以下代码才能使用这个类:
JLoader::registerNamespace('PhpOffice', JPATH_LIBRARIES . '/src');
$objPHPWord = new \PhpOffice\PhpWord\PhpWord();
发布于 2021-10-22 09:43:20
您需要使用composer安装phpoffice/phpword
composer require phpoffice/phpword
https://stackoverflow.com/questions/55594981
复制相似问题