我想在我的ZF2项目中使用TCPDF库。我有库的源,但它与Zend Framework 2命名空间(不是PSR-0)不兼容。如何将其包含在项目中?如果有任何方法可以使用ZF2兼容转换它。
如果有方法可以使用该库,那么请显示该过程(放置库源的位置以及如何包含它)。
请不要建议ZendPdf替代。 感谢
答案 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或供应商文件夹的路径上。