在ZF2中如何使视图函数在控制器中运行

时间:2013-04-05 09:41:00

标签: php zend-framework2 zend-view zend-controller

我希望视图文件的功能也能在控制器文件中运行。

例如,我希望仅在视图文件中运行的$this->escapeHtml()通过某些方式在控制器中运行,如$this->...->escapeHtml()

这可能吗?请帮助。

1 个答案:

答案 0 :(得分:24)

您需要获取ViewHelperManager并提取EscapeHtml帮助器。这是如何从控制器执行此操作的一个示例:

$viewHelperManager = $this->getServiceLocator()->get('ViewHelperManager');
$escapeHtml = $viewHelperManager->get('escapeHtml'); // $escapeHtml can be called as function because of its __invoke method       
$escapedVal = $escapeHtml('string');

请注意,建议在视图脚本中转义并显示输出,而不是在控制器中。