我用http://blog.evan.pro/creating-a-simple-view-helper-in-zend-framework-2创建了简单的 ViewHelper 。如何在此帮助程序中获取 URL 参数?$this->params('param') 仅适用于控制器...
问问题
5575 次
2 回答
2
鉴于博客文章中的代码,您可以在视图助手内部使用此代码:
$this->request->getPost('param'); // post parameter
// or
$this->request->getQuery('param'); // query parameter
示例中的代码接收Zend\Http\Request
当前请求的对象实例并将其存储在request
视图助手调用的属性中,以便您可以使用请求属性访问请求对象和其中的信息。
于 2012-11-13T21:43:40.860 回答
1
在视图助手中,您必须添加如下代码:
模块.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 将返回数组格式中的所有路由参数。
于 2018-03-09T13:16:31.953 回答