Zend framework2 在模块引导中使用basepath视图帮助程序
我想访问我的应用程序模块引导程序中的Zend framework2 在模块引导中使用basepath视图帮助程序,zend-framework2,Zend Framework2,我想访问我的应用程序模块引导程序中的basePath查看帮助程序。 以下是我的应用程序模块中的当前代码: public function onBootstrap(MvcEvent $e) { $viewHelperManager = $e->getApplication()->getServiceManager()->get('viewhelpermanager'); $basePath = $viewHelperManager->get('BasePath'
basePath
查看帮助程序。
以下是我的应用程序模块中的当前代码:
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'));
}
我可以让headscript视图助手添加javascript,但无法访问基本路径视图助手
如果查看代码,调用是:$basePath->basePath('/js/custom.js')
我如何做到这一点
任何帮助都将不胜感激。在您的问题中获取帮助者的方式没有问题,唯一的问题是您试图调用帮助者方法的方式
$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'));
BasePath视图帮助器是一个可调用的类,您可以显式调用它的\uu invoke()
方法
$basePath = $viewHelperManager->get('BasePath');
$basePath->__invoke('js/custom.js');
或者,由于声明invoke方法允许您像调用函数一样调用对象,因此您可以这样编写相同的代码
$basePath = $viewHelperManager->get('BasePath');
$basePath('js/custom.js');
invoke到底做什么?
\u invoke
是一个神奇的方法,当您像函数一样运行类本身时会调用它。i、 e.$basePath($arg)代码>