2012-11-26 46 views
1

我只想用PHPWord为symfony1.2 2.但林新在Symfony的2裹PHPWord上捆绑

我粘贴PHPWord源到我的util的文件夹,捆绑,但没有从PHPWord错误加载自动加载类...

问题很简单,我如何“包装”代码(在这里是PHPWord)来捆绑?或者我可以使用它。

任何解决方案?


感谢您的回答,这给了我一些亮光。 Altough,这不适合我。 我下载了composer.phar并按照你的说法编辑了我的composer.json:在我的require区域添加“phpword/phpword”:“0.6.2”并创建新的存储库phpword ...

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

任何教程或提示,使其工作?

谢谢

回答

1

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

由于PHPWord不使用作曲家(还),你需要在你的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随时间的变化。最好用一些不会改变的东西来代替它(如果可能的话,否则将它托管在某个地方)。

{ 
    "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": ["."] 
       } 
      } 
     } 
    ] 
} 
0

为URL的变化,你可以,如果你已经没有问题,开发人员版使用GitHub的仓库。

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

在控制器你即将use PhpWord:

use PhpOffice\PhpWord\PhpWord;

和动作里,你可以按如下方式创建一个新的实例:

$doc = new PhpWord();

4

composer require phpoffice/phpword dev-master所做的工作对我来说: