我创建了一个服务(DependencyInjection),并在控制器上将其用作:
$this->get("service_name")->someMethod()
我想知道如何在我的表单类上使用它。
这是我的课程示例形式:
namespace Company\SampleBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class AnswerType extends AbstractType {
public function buildForm(FormBuilder $builder, array $options) {
// I want use: $this->get("service") here, how can i use that?
$builder->add('answer', 'textarea');
}
public function getName() {
return 'answer';
}
public function getDefaultOptions(array $options) {
return array(
'data_class' => 'Company\SampleBundle\Entity\Answer',
);
}
}
Thanks
您可以使用$options
为了达成这个。这意味着您修改getDefaultOptions
因此。
public function getDefaultOptions(array $options) {
return array(
'service' => null,
'data_class' => 'Company\SampleBundle\Entity\Answer',
);
}
在你的控制器中,当你调用createForm()
使用$options
论证,像这样:
$this->createForm('Answer', null, array('service' => $service))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)