2

我想在自定义助手中使用 WebinoImageThumb moudle,但是当我想在助手工厂中创建此模块的实例时,出现此错误:

Zend\View\HelperPluginManager::get was unable to fetch or create an instance for WebinoImageThumb

但是我可以毫无问题地访问控制器中的实例。

这是我收到错误的代码:

public function getViewHelperConfig()
{
    return array(
        'factories' =>  array(
            'ImageLib' => function ($sm)
            {
                $WebinoImageThumb = $sm->get('WebinoImageThumb');
               return new \Base\view\helper\ImageLib($WebinoImageThumb);
            }
        )
    );
}
4

1 回答 1

4

遗漏的问题是:什么样的条目是WebinoImageThumb. 它是ViewHelper还是ControllerPlugin还是Service

它可能不是 ViewHelper,因为如果是的话,您可以像以前一样访问它。

如果它是一个Service,你会从 ServiceManager 得到它

return new \Base\View\Helper\ImageLib(
    $sm->getServiceLocator()->get('WebinoImageThumb')
);

如果它是ControllerPlugin,您将从ControllerPluginManager

return new \Base\View\Helper\ImageLib(
    $sm->getServiceLocator()->get('ControllerPluginManager')->get('WebinoImageThumb')
);
于 2014-02-03T10:39:13.367 回答