我正试图围绕 zend 框架 2 和它的模块系统。我在入门指南中的骨架应用程序工作。我现在想使用 ZendPdf 加载现有的 pdf 文件并使用它。到目前为止,我已经完成了以下工作:
- 使用作曲家下载并安装 ZendPdf 到我的骨架应用程序
- 将 ZendPdf 添加到我的 application_config.php
- 添加了一个简单的控制器操作来创建一个新的 ZendPdf 类并加载到一个文档中
- 我还为控制器操作创建了一个视图。
每当我在控制器中调用操作时,我都会收到以下错误
Fatal error: Uncaught exception 'Zend\ModuleManager\Exception\RuntimeException' with message 'Module (ZendPdf) could not be initialized
显然,从错误中,我需要将 zendpdf 添加到 module_config.php 以便 ModuleManager 可以拾取它。这是我迷路了。我不知道如何在配置文件中配置zendpdf。这是我到目前为止所拥有的:
相册模块中的module.config
return array(
'controllers' => array(
'invokables' => array(
'Album\Controller\Album' => 'Album\Controller\AlbumController',
),
),
// Routes for
'router' => array(
'routes' => array(
'album' => array(
'type' => 'segment',
'options' => array(
'route' => '/album[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Album\Controller\Album',
'action' => 'index',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'album' => __DIR__ . '/../view',
),
),
'zendpdf' => array() /* what to do here */
);
这是我的AlbumController中的控制器操作
public function viewPdfAction()
{
$pdf = ZendPdf::load('/tmp/pdf_report.pdf');
}
这是application.config
<?php
return array(
'modules' => array(
'Application',
'Album',
'AlbumRest',
'ZendPdf'
),
'module_listener_options' => array(
'config_glob_paths' => array(
'config/autoload/{,*.}{global,local}.php',
),
'module_paths' => array(
'./module',
'./vendor',
),
),
);
我一直在阅读文档,但只是不明白。我需要朝着正确的方向前进。