我想在我的 ZF2 项目中使用TCPDF库。我有库的来源,但它与 Zend Framework 2 命名空间(不是 PSR-0)不兼容。如何将其包含在项目中?如果有任何方法可以将它与 ZF2 兼容。
如果有办法按原样使用库,请显示该过程(在哪里放置库源以及如何包含它)。
请不要建议 ZendPdf 作为替代方案。谢谢
我想在我的 ZF2 项目中使用TCPDF库。我有库的来源,但它与 Zend Framework 2 命名空间(不是 PSR-0)不兼容。如何将其包含在项目中?如果有任何方法可以将它与 ZF2 兼容。
如果有办法按原样使用库,请显示该过程(在哪里放置库源以及如何包含它)。
请不要建议 ZendPdf 作为替代方案。谢谢
因此,使用 foozy 提到的命令行工具可以做到这一点的一种方法,但这会导致更改其他人的代码并且谁想要那个头痛。您也可以使用 Composer 执行此操作,使用autoload:classmap 指令,因为它是一个类,即使它不是 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 或供应商文件夹的路径上。