私は持っていて、ViewHelper
それを初期化したいModule#getViewHelperConfig()
:
<?php
namespace Search;
use statements...
class Module implements
ConfigProviderInterface,
ServiceProviderInterface,
AutoloaderProviderInterface,
ViewHelperProviderInterface {
public function getConfig() ...
public function getAutoloaderConfig() ...
public function getServiceConfig() {
$breakpoint = null;
try {
return array (
'factories' => array(
...
'SearchFormCourseSearchForm' => function ($serviceManager) {
$cacheService = $serviceManager->get('Cache\Model\CityStorage');
$cities = $cacheService->getCities();
$searchForm = new Form\CourseSearchForm($cities);
return $searchForm;
},
)
);
} ...
}
public function getViewHelperConfig() {
$breakpoint = null;
return array(
'factories' => array(
'searhForm' => function($serviceManager) {
$helper = new View\Helper\SearchForm(array('render' => true, 'redirect' => false));
$helper->setViewTemplate('search/search/search-courses');
$searchForm = $serviceManager->get('SearchFormCourseSearchForm');
$helper->setSearchForm($searchForm);
return $helper;
}
)
);
}
しかし、ZF は私の工場に電話をかけません。SearchFormCourseSearchForm
これの代わりに、新しいインスタンスを作成しようとします:
致命的なエラー: /var/www/bar/foo/vendor/zendframework/ で、「Zend\ServiceManager\ServiceManager::get は SearchFormCourseSearchForm のインスタンスを取得または作成できませんでした」というメッセージを含む例外「Zend\ServiceManager\Exception\ServiceNotFoundException」をキャッチできませんでした456 行目の zendframework/library/Zend/ServiceManager/ServiceManager.php
inをModule#getServiceConfig()
作成して取得したサービス ファクトリはどのように使用すればよいですか?ViewHelper
Module#getViewHelperConfig()