Zend framework2 如何在Zend Framework 2中使用自定义第三方库

Zend framework2 如何在Zend Framework 2中使用自定义第三方库,zend-framework2,tcpdf,Zend Framework2,Tcpdf,我想在我的ZF2项目中使用库。我有库的源代码,但它与Zend Framework 2命名空间(不是PSR-0)不兼容。如何将其包括在项目中?如果有任何方法可以将其转换为ZF2兼容 如果有一种方法可以按原样使用库,请说明过程(将库源放在何处以及如何包含它) 请不要建议将ZendPdf作为替代方案。 谢谢你,用foozy提到的命令行工具可以做到这一点,但这会导致修改其他人的代码,谁会想让人头疼呢。您也可以使用Composer实现这一点,因为它是一个类,即使它不是PSR-0 基本上,您可以将TCPDF

我想在我的ZF2项目中使用库。我有库的源代码,但它与Zend Framework 2命名空间(不是PSR-0)不兼容。如何将其包括在项目中?如果有任何方法可以将其转换为ZF2兼容

如果有一种方法可以按原样使用库,请说明过程(将库源放在何处以及如何包含它)

请不要建议将ZendPdf作为替代方案。
谢谢你,用foozy提到的命令行工具可以做到这一点,但这会导致修改其他人的代码,谁会想让人头疼呢。您也可以使用Composer实现这一点,因为它是一个类,即使它不是PSR-0

基本上,您可以将TCPDF文件放在方便的地方(供应商文件夹、lib文件夹等),然后将autoload指令添加到composer.json,如下所示:

{
  "autoload": {
      "classmap": ["vendor/tcpdf"]
  }
}
假设您将tcpdf文件夹放置在供应商文件夹中,并且tcpdf类位于tcpdf文件夹的根目录中。然后运行
php composer.phar update
。然后,Composer将该文件夹作为源位置添加到它向SPL autoloder注册的autoloader函数中

然后,无论您想在哪里使用TCPDF类,都可以执行
$pdf=new\TCPDF()


注意:我不是100%在相对于项目根目录、composer.phar或供应商文件夹的路径上。

您可以尝试使用zend的namespacer命令行工具将旧的TCPPDF库转换为更自动加载和名称空间友好的库。如果没有名称空间、自动加载和类似PSR-0的标准感知编码,那么像这样的集成第三方库将非常困难。$pdf=new\TCPdF()应该是$pdf=new\TCPdF()。我要感谢您我不知道的自动加载功能为我节省了不少麻烦;)这是一个很棒的投篮+1