Zend framework2 如何使用ZF1$this->;ZF2中的操作?

Zend framework2 如何使用ZF1$this->;ZF2中的操作?,zend-framework2,Zend Framework2,我的问题是ZF2中缺少操作视图帮助程序。 例如,如何在layout.phtml(或其他视图)中使用 ZF2: 我怎样才能解决这个问题 问题解决了!!!;) 首先,您需要编写如下自定义帮助程序: $this->action('Engine\Controller\PagesController', 'indexAction'); 可能需要更改名称空间以适合您的项目,然后在模块配置文件中将此帮助程序注册为可调用的帮助程序服务: 'view_helpers' => array(

我的问题是ZF2中缺少操作视图帮助程序。
例如,如何在layout.phtml(或其他视图)中使用

ZF2:

我怎样才能解决这个问题


问题解决了!!!;)

首先,您需要编写如下自定义帮助程序:

$this->action('Engine\Controller\PagesController', 'indexAction');

可能需要更改名称空间以适合您的项目,然后在模块配置文件中将此帮助程序注册为可调用的帮助程序服务:

'view_helpers' => array(
    'invokables' => array(
        'action' => 'Eva\View\Helper\Action',
    ),  
),
然后您可以调用视图中的任何控制器操作,如下所示:

$this->action('Engine\Controller\PagesController', 'indexAction');

编辑


OP在这里找到了一个很好的解决方案:。由于他没有将其作为答案发布,其他用户可能会错过它。

操作
查看助手在zf1中不被推荐,在zf2中被完全删除,这是一种不良做法。你应该考虑改变应用程序设计来不依赖于这种行为。

你的助手不是直接模拟到ZF1中的<代码>动作< /代码>帮助器。它调用了整个调度过程。至于将控制器注册为可从您的助手调用,这是一个非常糟糕的做法。实际上,我认为“在视图中调用控制器操作”本身是一个糟糕的做法。以下是本文的当前链接: