我用http://blog.evan.pro/creating-a-simple-view-helper-in-zend-framework-2创建了简单的ViewHelper。如何在这个助手中获取URL参数? $ this-> params('param')仅适用于控制器......
答案 0 :(得分:1)
鉴于博客文章中的代码,您可以在视图助手中使用此代码:
$this->request->getPost('param'); // post parameter
// or
$this->request->getQuery('param'); // query parameter
示例中的代码接收当前请求的Zend\Http\Request
对象的实例,并将其存储在视图助手的名为request
的属性中,以便您可以使用request属性访问请求来自它的对象和信息。
答案 1 :(得分:1)
在视图帮助器中,您必须添加如下代码:
Module.php
'factories' => array(
'myViewHelper' => function($pm) {
return new MyView($pm);
},
)
现在在Helper Class文件中,您必须添加以下代码
public function __construct($pm) {
$this->pluginManager = $pm;
$this->serviceLocator = $this->pluginManager->getServiceLocator();
$this->routeMatch = $this->serviceLocator->get('Router')->match($this->serviceLocator->get('Request'));
}
public function __invoke() {
$params = $this->getRouteMatch()->getParams();
}
这里$ params将返回数组格式中的所有路径参数。