将 PHPWord 添加到 Joomla

Add PHPWord to Joomla

我需要将非常优秀的 PHPWord - https://github.com/PHPOffice/PHPWord 添加到 Joomla 2.5 项目中。

我已将 PHPWord 文件添加到插件文件夹(可能不是正确的选择)并具有以下代码

    $phpWord = new \libraries\PhpOffice\PhpWord\PhpWord();

未找到 class,因为它不是自动加载的。我如何在 Joomla 中加载这些 classes 并且它有一个比将自动加载的插件更好的文件夹?

我添加了这些行

   JLoader::discover('PhpWord', JPATH_LIBRARIES . '/PhpOffice/PhpWord/'); 
   $phpWord = new PhpWord; 

PhpWord 文件夹内有 Phpword.php 和 autoloader.php,以及其他几个脚本。

如上面 Using_own_library_in_your_extensions 中的评论所述,他们解释了如何为 Joomla 2.5 和 Joomla 3 导入库。

现在假设教程是正确的并且 JLoader::discover 正在运行我会说问题是你的插件文件夹中有 PHPWord 并且你在 JLoader::discover 中搜索 /libraries/PhpOffice/PhpWord/.

所以

  1. 在库中复制/PhpOffice/PhpWord/
  2. 再次尝试使用JLoader::discover('PhpWord', JPATH_LIBRARIES . '/PhpOffice/PhpWord/');

看了PhpWord的文档发现也可以直接require这个库,这样使用:

// be sure that the path match in your joomla
require_once 'libraries/PhpWord/Autoloader.php';
\PhpOffice\PhpWord\Autoloader::register();

// Creating the new document...
$phpWord = new \PhpOffice\PhpWord\PhpWord();