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

时间:2013-09-04 17:41:42

标签: zend-framework2 tcpdf

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

如果有方法可以使用该库,那么请显示该过程(放置库源的位置以及如何包含它)。

请不要建议ZendPdf替代。 感谢

1 个答案:

答案 0 :(得分:6)

所以用foozy提到的命令行工具来做到这一点的方法之一,但这会导致改变其他人的代码并且谁想要头疼。您也可以使用autoload:classmap directive使用Composer执行此操作,因为它是一个类,即使它不是PSR-0。

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

{
  "autoload": {
      "classmap": ["vendor/tcpdf"]
  }
}

假设您将tcpdf文件夹放在vendor文件夹中,并且TCPDF类位于tcpdf文件夹的根目录中。然后你运行php composer.phar update。然后,Composer会将该文件夹作为源位置添加到它向SPL自动装载器注册的自动加载器功能中。

然后,你想要使用TCPDF类,你会$pdf = new \TCPDF()

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