Symfony 3格式-什么是:: class,名称在哪里?

cag*_*aga 2 php symfony

Symfony 3表格中的:: class有什么用?

例如:

->add('task', TextType::class)
Run Code Online (Sandbox Code Playgroud)

要么

$form = $this->createForm(TaskType::class, $task);
Run Code Online (Sandbox Code Playgroud)

在哪里可以了解方法:: class

在Symfony2中是:

public function getName()
{
    return 'appbundle_task';
}
Run Code Online (Sandbox Code Playgroud)

接下来是前缀视图,例如:

<input id="appbundle_task_name" type="text" name="appbundle_task[name]">
Run Code Online (Sandbox Code Playgroud)

现在在输入中生成名称的原理是什么?

Fed*_*kun 5

::class用于类名解析。这样,您可以获得类的完全限定名称(FQCN)。您可以在文档中阅读有关内容

Symfony的3之前,你必须直接传递类型实例FormBuilder::addForm::addFormFactory。现在,您需要传递完全限定的类型类名称,然后可以使用::class

getName()表格类型都不再需要,因为他们现在的FQCN鉴定。如果要在Twig中自定义类型的块前缀,则应添加getBlockPrefix

public function getBlockPrefix()
{
    return 'appbundle_task';
}
Run Code Online (Sandbox Code Playgroud)