Zend framework 使用Zend格式的setValue

Zend framework 使用Zend格式的setValue,zend-framework,zend-form,zend-framework3,Zend Framework,Zend Form,Zend Framework3,我尝试将一个值传递给Zend Form元素。formclass实例化时填写。也许这甚至是错误的想法 我要做的是: 我想通过我的控制器addAction为我的formclass提供一个值: $form = new PadForm(NULL, $test->UnitPartID); 下面是我的表单类的构造函数: public function __construct($name = null, $unitpartid) 现在我认为给元素赋值一定很容易: add.phtml $UnitPa

我尝试将一个值传递给Zend Form元素。formclass实例化时填写。也许这甚至是错误的想法

我要做的是:

我想通过我的控制器addAction为我的formclass提供一个值:

$form = new PadForm(NULL, $test->UnitPartID);
下面是我的表单类的构造函数:

 public function __construct($name = null, $unitpartid)
现在我认为给元素赋值一定很容易:

add.phtml

$UnitPartID= $form->get('UnitPartID');
$UnitPartID->setAttribute('class', 'form-control');
$UnitPartID->setAttribute('placeholder', 'UnitPartID');

$UnitPartID->setValue($this->unitpartid);
不幸的是表单元素没有得到值


错误在哪里?我想我已经接近解决方案了??感谢您的帮助。

这有点遗憾,因为最后很容易。但是对于Zend的初学者来说,有时很难理解在哪里正确地做事。 所以我想为其他有同样问题的人发布解决方案

在我的控制器addaction中,在实例化form类之后,我给form字段一个值

$form->get('Formfield')->setValue(some variable);

我有一个洞的主题,因为我正在寻找一种可能性,在视图中这样做。在那里,我当然可以给出一个值,但我无法获取变量。如果有人对这种可能性仍有建议,请发布。我回答我的问题是因为我现在有了一个有效的解决方案。

你确定
$this->unitpartid
在你这样做时不是空的吗?你是对的,我只是重复了一下。我怎样才能正确地完成它?为什么是“setValue”而不是“populateValues”?我的意思是$form->populateValues(['UnitPartID'=>5]);我将尝试一下,我在Zend 1中使用了populate,我认为在版本3中不推荐使用它