操作视图帮助程序 - 获取控制器/操作名称


Action View Helper - getting the controller / action name

使用以下控制器:

class mydvbController extends Zend_Controller_Action
{
    public function indexAction()
    {
    }
    public function careerAction()
    {
    }
    public function naviAction()
    {
    }
}

以下视图脚本 - index.phtml:

<?php echo $this->action('navi', 'mydvb'); ?>
Some stuff.....

和职业.phtml:

<?php echo $this->action('navi', 'mydvb'); ?>
Some other stuff.....

我想在 naviAction() 中获取操作的名称,具体取决于哪个操作称为操作视图助手(在我的示例索引或职业中)。当然,有可能在参数中传递它,如下所示:

    <?php echo $this->action('navi', 'mydvb', null, array('actionName' => $this->naviAction)); ?>

但这样做意味着我必须将操作名称从每个操作传递到其视图,并将操作名称作为参数从视图传递给操作视图帮助程序。我想知道是否有更简单的方法可以从操作视图助手中获取操作的名称。

在您的情况下,仅从请求中获取操作名称不是更容易吗?

$front = Zend_Controller_Front::getInstance();
$actionName = $front->getRequest()->getActionName();
echo $actionName;