我只想将PHPWord用于Symfony 2.但我是Symfony 2的新手。
我将PHPWord源粘贴到我的util文件夹包中但是从PHPWord加载自动加载器类时出错......
问题很简单,如何将代码(在本例中为PHPWord)“包装”到bundle中?或者我可以使用它。
任何解决方案?
感谢您的回答,这给了我一些启发。尽管如此,这对我不起作用。 我下载composer.phar并编辑我的composer.json,如你所说:在我的需求区域添加“phpword / phpword”:“0.6.2”并创建新的存储库phpword ...
不起作用,我运行“php composer.phar”命令,但它没有下载任何内容......
任何使这项工作的教程或提示?
谢谢
答案 0 :(得分:4)
composer require phpoffice/phpword dev-master
为我做了工作。
它应该下载并在您的Symfony2安装中的vendor
文件夹下安装PhpOffice \ PHPWord(除了自动修改您的composer.json)。
在控制器中,您即将use
PhpWord:
use PhpOffice\PhpWord\PhpWord;
在操作中,您可以按如下方式创建新实例:
$doc = new PhpWord();
答案 1 :(得分: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');
更新:我刚刚意识到要下载的网址随时间变化。最好用不会改变的东西替换它(如果可能的话,否则自己将它托管在某个地方)。
答案 2 :(得分: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": ["."]
}
}
}
]
}
答案 3 :(得分:0)
您可以将此简单包用作PhpWord的包装器: https://packagist.org/packages/ggggino/wordbundle