如何以 symfony 1.4 形式读取默认值?

问题描述

我有一个用这段代码初始化的 symfony 表单

$this->form =new MyForm();
$this->form->setDefault('myValue',"value");

现在如果我去MyForm.class.PHP并执行

echo $this->getobject()->get('myValue');
die();

configure() 方法上,它不打印任何内容。同样发生在 BaseMyForm.class.PHP 中。

我做错了吗?

如果我用

在html中打印整个小部件
<?PHP echo $form['myValue']->renderError() ?>
<?PHP echo $form['myValue']->render() ?>

它正确加载。

解决方法

当您通过数据传递时,表单构建器的工作方式似乎是错误的 $this->form->setDefault(); 它没有在配置方法中加载。如果您需要将数据传递给配置方法,则必须通过构建器来完成,在我的情况下,它类似于:

$this->form =new MyForm(array(),array("MyValue","value");

然后阅读它你需要使用

$this->getOption('MyValue');

在你的配置方法中

看过 Pass a variable to a Symfony Form