:
:class在Symfony 3的形式中使用了什么?
例如:
->add('task', TextType::class)
或
$form = $this->createForm(TaskType::class, $task);
我在哪里可以读到方法 ::class?
在Symfony2中是:
public function getName()
{
return 'appbundle_task';
}
接下来我有前缀,例如:
<input id="appbundle_task_name" type="text" name="appbundle_task[name]">
现在在输入中生成名称的原则是什么?
::class
用于类名解析。这样,您可以获得类的完全限定名称 (FQCN)。您可以在文档中阅读有关此内容的信息。
在Symfony 3之前,你必须将类型实例直接传递给FormBuilder::add
、Form::add
或FormFactory
。现在,您需要改为传递完全限定的类型类名,您可以使用 ::class
.
不再需要表单类型的getName()
,因为它们现在由其 FQCN 标识。如果要自定义 Twig 中某个类型的块前缀,则应添加 getBlockPrefix
。
public function getBlockPrefix()
{
return 'appbundle_task';
}