我想访问basePath
视图助手inside my Application Module Bootstrap.
以下是我的应用程序模块中的当前代码:
public function onBootstrap(MvcEvent $e)
{
$viewHelperManager = $e->getApplication()->getServiceManager()->get('viewhelpermanager');
$basePath = $viewHelperManager->get('BasePath');
$headScript = $viewHelperManager->get('HeadScript');
$headScript->appendFile($basePath->basePath('/js/custom.js'));
}
我能够获得头部脚本视图助手来添加javascript但我无法访问基本路径视图助手
如果您查看代码,则呼叫为:$basePath->basePath('/js/custom.js')
。
我如何做到这一点?
任何帮助都将不胜感激。
答案 0 :(得分:1)
在你的问题中获取帮助器的方式没有任何问题,唯一的问题是你试图调用辅助方法的方式。
BasePath视图助手是一个可调用的类,您可以显式调用其__invoke()
方法
$basePath = $viewHelperManager->get('BasePath');
$basePath->__invoke('js/custom.js');
或者,因为声明invoke方法允许你调用一个对象就像它是一个函数一样,你可以像这样编写相同的东西
$basePath = $viewHelperManager->get('BasePath');
$basePath('js/custom.js');
答案 1 :(得分:-2)
$viewHelperManager = $e->getApplication()->getServiceManager()->get('viewhelpermanager');
$headScript = $viewHelperManager->get('HeadScript');
$headScript->prependFile($viewHelperManager->getRenderer()->basePath('js/bootstrap.min.js'));
$headScript->prependFile($viewHelperManager->getRenderer()->basePath('js/jquery.min.js'));
$headScript->prependFile($viewHelperManager->getRenderer()->basePath('js/respond.min.js'),'text/javascript', array('conditional' => 'lt IE 9'));
$headScript->prependFile($viewHelperManager->getRenderer()->basePath('js/html5shiv.min.js'),'text/javascript', array('conditional' => 'lt IE 9'));