Zend是视图助手里面的视图变量吗?

时间:2011-05-24 06:35:46

标签: php zend-framework view helper

我想知道Zend视图变量是否在我的视图助手类中可用而不直接作为参数传递

感谢

卢卡

4 个答案:

答案 0 :(得分:6)

由于所有视图助手都引用了$view属性中的视图,答案是肯定的。

辅助方面您不知道哪些属性可用。最好在调用或构造时将任何必需的属性传递给助手。

答案 1 :(得分:1)

你可以在视图帮助器中访问$view表单,我将给出一个例子: 在下面的示例中,您可以设置并获取视图变量

<?php

class App_View_Helper_Job extends Zend_View_Helper_Abstract {

    public function setView(Zend_View_Interface $view) {
        $this->view = $view;
    }

    public function job() {
           $this->view->var1 = "testing var1 ";
           $this->view->var2 = $this->view->var1;
    }
}

答案 2 :(得分:1)

你应该知道一件事:
view helper的视图实例是在helper实例化上设置的实例。它在视图克隆时没有更新。因此,如果从部分调用,您无法确定您正在使用哪一个。

答案 3 :(得分:0)

我发现当我在注册表中设置视图实例并从帮助器获取它时,视图变量保持不变。这是我在社交引擎项目中使用的代码片段

$view = Zend_Registry::get('Zend_View');
/*
 * Check data available and set it to local variable
 */
if(isset($view->localeTranslations[$key]))
{
   $translate = $view->localeTranslations[$key];
}