1

我只想将 PHPWord 用于 Symfony 2。但我是 Symfony 2 的新手。

我将 PHPWord 源代码粘贴到我的 util 文件夹包中,但从 PHPWord 加载自动加载器类时出错...

问题很简单,如何将代码(在本例中为 PHPWord)“包装”到捆绑中?或者我可以使用它。

有什么解决办法吗?


感谢您的回答,这给了我一些启发。虽然,这对我不起作用。我下载了composer.phar,并按照您的说法编辑了我的composer.json:在我的需求区域中添加“phpword/phpword”:“0.6.2”并创建新的存储库phpword ...

不起作用,我运行“php composer.phar”命令,但它没有下载任何东西......

有任何教程或提示可以使这项工作吗?

谢谢

4

4 回答 4

4

composer require phpoffice/phpword dev-master为我做了这项工作。

它应该下载并安装在 Symfony2 安装文件夹下的安装 PhpOffice\PHPWord vendor(除了自动修改您的 composer.json)。

在控制器中,您将要使用usePhpWord:

use PhpOffice\PhpWord\PhpWord;

在动作内部,您可以创建一个新实例,如下所示:

$doc = new PhpWord();

于 2014-09-17T07:49:42.250 回答
1

您不应该自己复制源代码。使用 composer 安装 PHPWord。

由于 PHPWord 还没有使用 composer,你需要在 composer.json 中定义一个存储库:

{
    "require": {
        "phpword/phpword": "0.6.2"
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "phpword/phpword",
                "version": "0.6.2",
                "dist": {
                    "url": "http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=phpword&DownloadId=138035&FileTime=129545976016270000&Build=19692",
                    "type": "zip"
                },
                "autoload": {
                    "classmap": ["."]
                }
            }
        }
    ]
}

你可以在 Symfony 项目中使用 PHPWord(实际上是任何 PHP 项目):

$word = new PHPWord();
$writer = new PHPWord_Writer_Word2007($word);
$writer->save('test.doc');

更新:我刚刚意识到随着时间的推移下载更改的 URL。最好用不变的东西替换它(如果可能的话,或者自己在某个地方托管)。

于 2012-11-26T18:28:31.337 回答
0

随着 URL 的变化,如果您对开发版本没有问题,可以使用 github 存储库:

{
    "require": {
        "phpword/phpword": "dev"
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "phpword/phpword",
                "version": "dev",
                "dist": {
                    "url": "https://github.com/PHPOffice/PHPWord/archive/develop.zip",
                    "type": "zip"
                },
                "autoload": {
                    "classmap": ["."]
                }
            }
        }
    ]
}
于 2013-02-07T11:20:08.667 回答
0

您可以使用这个简单的包作为 PhpWord 的包装器: https ://packagist.org/packages/ggggino/wordbundle

于 2017-07-06T10:26:14.557 回答