私はzendフレームワーク2とそのモジュールシステムに頭を悩ませようとしています。スタートガイドのスケルトンアプリケーションが機能しています。ZendPdfを使用して、既存のpdfファイルをロードして操作したいと思います。私はこれまでに次のことを行いました。
- 私のスケルトンアプリにcomposerを使用してZendPdfをダウンロードしてインストールしました
- 私のapplication_config.phpにZendPdfを追加しました
- 新しいZendPdfクラスを作成し、ドキュメントにロードするための簡単なコントローラーアクションを追加しました
- コントローラアクションのビューも作成しました。
コントローラでアクションを呼び出すと、次のエラーが発生します
Fatal error: Uncaught exception 'Zend\ModuleManager\Exception\RuntimeException' with message 'Module (ZendPdf) could not be initialized
明らかに、エラーから、moduleManagerがそれを取得できるように、module_config.phpにzendpdfを追加する必要があります。これは私が迷子になったということです。設定ファイルで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',
),
),
);
私はドキュメントを読んでいますが、それを取得していません。正しい方向にプッシュする必要があります。