gpt4 book ai didi

php - 传递值以在 Zend Framework 2 中查看

转载 作者:行者123 更新时间:2023-12-05 00:17:03 24 4
gpt4 key购买 nike

我正在尝试将我们现有的应用程序从 Zend Framework 1 转换为 Zend Framework 2,但我遇到了一点麻烦。

在原始应用程序中,我的 Controller 中有以下内容

function init()
{
$this->initialize_values();
}

我所有的 Controller 都扩展了一个基类,其中包含该功能,如此处所示。

protected function initialize_values()
{

$this->_db = Zend_Registry::get('dbAdapter');
$this->_current_user = new User(&$this->_db);

$this->_auth = Zend_Auth::getInstance();
if($this->_auth->hasIdentity())
{
$this->_current_user = unserialize($_SESSION['current_user']);
$this->view->current_user = $this->_current_user;
}
}

除了设置 View 值的最后一行,我已经复制了所有功能。

在我为 ZF2 找到的所有示例中,它们似乎都返回一个数组或 View 模型。我没有看到将值传递给未附加到操作函数的 View 的方法。

最佳答案

那是因为创建 new ViewModel() 并将其返回给调用脚本取决于您。根据您从 Controller 返回的内容,将调用适当的渲染器。

例如,如果我要返回一个 html block ,我会使用

return new ViewModel(array('results' => $results));

在我的 Controller 操作结束时。但是,如果我想提供 JSON 输出,我会返回

return new JsonModel($results);

在您的情况下,您可以准备 View 模型并将其存储在 protected 变量中,然后像这样向其中添加变量:

// in your constructor
$this->_view = new ViewModel();

// in your initialize values method
$this->_view->setVariable($name, $value);

然后当准备输出时:

// in your controller action
return $this->_view;

关于php - 传递值以在 Zend Framework 2 中查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15331792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com