在zend框架2中的自定义帮助器中使用另一个模块

时间:2014-02-03 10:35:06

标签: zend-framework2 factory helper servicemanager

我想在我的自定义帮助程序中使用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);
            }
        )
    );
}

1 个答案:

答案 0 :(得分:4)

遗漏的问题是:WebinoImageThumb是什么类型的条目。它是 ViewHelper ,是 ControllerPlugin 还是服务

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

如果是服务,您可以从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')
);