如何在 Yii Framework 中使用 ZF2 ZendPdf


How to use ZF2 ZendPdf in Yii Framework

我想在我的项目中解析一个PDF文档,我正在使用Yii框架,我能够加载ZendFramework 1.12,实际上我正在使用Zend_Lucene并成功Zend_Mail,但是ZendPdf无法解析PDF,所以我想尝试使用ZF2(ZendFramework 2),但我无法让它工作...我刚刚下载了 ZF2 库并将以下内容添加到我的基本控制器中:

public function __construct($id,$module=null){
    Yii::import('application.vendors.ZendFramework.library.*');
    Yii::setPathOfAlias('Zend',Yii::getPathOfAlias('application.vendors.ZendFramework.library.Zend'));
    parent::__construct($id,$module);
}

因此,每次我使用控制器时都会执行此代码。然后在控制器中,我有:

use ZendPdf'PdfDocument;
use Zend'Mail;
class AjaxController extends Controller{...
...
public function actionTestPdf(){    
    $filepath = realpath('./path/').'/pdftest2.pdf';
    $pdf = PdfDocument::load($filepath);
}

当我运行控制器时:/ajax/TestPdf我得到:致命错误:找不到类"ZendPdf''PdfDocument"

我做错了什么?

我建议您使用作曲家安装ZF2的东西,并包括作曲家的自动加载器以获得与PSR兼容的自动加载。

备选方案1)您也可以尝试将alias ZendPdf'PdfDocument指向类文件位置。

备选方案2) 在应用程序配置中import所需的类或目录。

在这种特殊情况下,我建议不要使用 ZF2 的 ZendPdf,

因为它在功能上等同于 ZF1 的 Zend_Pdf,所以你要做的只是增加不必要的类加载复杂性等,但不能解决你的根本问题,因为文档仍然很可能不会使用 ZF2 的 ZendPdf 加载。

您应该调查文档无法在 ZF1 中加载的根本原因。