Php Symfony 3表单-什么是::类?名称在哪里?
::类在Symfony 3表单中使用了什么 例如:Php Symfony 3表单-什么是::类?名称在哪里?,php,symfony,Php,Symfony,::类在Symfony 3表单中使用了什么 例如: ->add('task', TextType::class) <input id="appbundle_task_name" type="text" name="appbundle_task[name]"> 或 在哪里可以阅读有关方法的信息::class 在Symfony2中: public function getName() { return 'appbundle_task'; } 接下来我看到了前缀,例如:
->add('task', TextType::class)
<input id="appbundle_task_name" type="text" name="appbundle_task[name]">
或
在哪里可以阅读有关方法的信息::class
在Symfony2中:
public function getName()
{
return 'appbundle_task';
}
接下来我看到了前缀,例如:
->add('task', TextType::class)
<input id="appbundle_task_name" type="text" name="appbundle_task[name]">
现在在输入中生成名称的原理是什么?
::class
用于类名解析。这样,您就可以获得类的完全限定名(FQCN)。你可以在报纸上看到
在symfony3之前,必须将类型实例直接传递给FormBuilder::add
、Form::add
或FormFactory
。现在,您需要传递完全限定的类型类名,您可以使用::class
来实现这一点
不再需要表单类型的getName()
,因为它们现在由其FQCN标识。如果要自定义Twig中类型的块前缀,应添加getBlockPrefix
public function getBlockPrefix()
{
return 'appbundle_task';
}
谢谢,但是现在字段前缀没有名称空间。可以更改字段前缀吗?谢谢@Federkun!升级到symfonyv3+后,这修复了我的表单元素的id和name属性。