按照此答案中的建议,我的应用程序当前使用构造函数将数据传递到表单类型。但是,Symfony2.8升级指南建议不要将类型实例传递给createForm
函数:
将类型实例传递给Form :: add(),FormBuilder :: add()和FormFactory :: create
*()方法已过时,在Symfony 3.0中不再受支持。而是传递类型的标准类名。Before: $form = $this->createForm(new MyType()); After: $form = $this->createForm(MyType::class);
看来我无法使用完全合格的类名传递数据,还有其他选择吗?
这也破坏了我们的某些形式。我通过将自定义数据通过选项解析器传递来修复了该问题。
在您的表单中输入:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$this->traitChoices = $options['trait_choices'];
$builder
->add('name', TextType::class, ['label' => 'L_PROFILE_EDIT_NAME', 'required' => false])
...
->add('figure_type', ChoiceType::class, [
'label' => 'L_PROFILE_EDIT_FIGURETYPE',
'mapped' => false,
'choices' => $this->traitChoices['figure_type']
])
...
;
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Foo\BarBundle\Entity\Profile',
'trait_choices' => null,
));
}
然后,当您在控制器中创建表单时,将其作为选项而不是在构造函数中传递:
$form = $this->createForm(ProfileEditType::class, $profile, array(
'action' => $this->generateUrl('profile_update'),
'method' => 'PUT',
'trait_choices' => $traitChoices,
));
我目前有一个PHP应用程序,它使用静态数据加密将敏感信息存储到数据库中,我稍后可以解密该数据库以在我的应用程序中使用。 这是我正在使用的当前代码。我知道…我知道…它一点都不安全,但它对我使用它的目的来说很好。我没有存储信用卡号码、社会保险号码或类似的东西。主要是姓名和地址。 我遇到的问题是我刚刚从PHP 5.5升级到PHP 7.1。现在在PHP 7.1中,我的加密/解密函数抛出大量警告,指出以下函
问题内容: 我正在尝试将数据发送到我的PHP脚本来处理一些东西并生成一些东西。 在我的PHP文件中,我尝试检索专辑名称。虽然当我验证它时,我创建了一个警报以显示什么都没收到,但是我尝试通过 虽然会说undefined:/ 问题答案: 您正在发送POST AJAX请求,因此请在您的服务器上使用来获取值。我也建议您这样编写请求,以确保正确的编码: 或简称为: 如果您想使用GET请求: 或简称为: 现在
问题内容: 我正在尝试使用Maven释放一个库并执行站点部署来sourceforge(我首先创建了一个交互式shell)。该发布由Jenkins作业完成(使用Jenkins的Maven发布插件)。 我试过了: 和 但两次工作都挂在site:第一个模块的部署: 当我停止工作时,将在最后打印以下内容: 这可能意味着$ {username}尚未解析。 如何解析$ {username}? 编辑: 请注意以
问题内容: 我对Java Web Start的状态感到困惑。在Oracle的支持路线图中,我们可以阅读以下内容: 部署技术支持 由Java插件和Web Start技术组成的Web部署技术具有较短的支持生命周期。对于通过Java SE 8进行的主要发行,Oracle为这些技术提供了五(5)年的高级支持。扩展支持不适用于部署堆栈,并且不适用于Java SE 9以外的支持。有关详细信息,请参见Oracl
问题内容: 是否有任何方法可以通过以下方式从Node.JS应用程序重定向到HTML文件:表达并将JSON数据传递到html文件? 问题答案: 您会从给定的请求中得到一个响应。您可以将多个事物组合成一个响应,也可以要求客户端发出单独的请求以获取独立的事物。 如果您要执行的操作是获取HTML文件并通过在其中插入一些JSON对其进行修改,那么您将无法使用它,因为它只是从磁盘或缓存中读取文件并直接将其作为
问题内容: 网页中Java Applets的一个众所周知的问题是,浏览器会忽略applet标记的z-index而不是页面中的其他组件。无论您如何在页面中定位元素和z- index元素,小程序都将在所有内容之上吸引自己。 有一种解决方法,称为iframe垫片,如此处所述:http : //www.oratransplant.nl/2007/10/26/using-iframe-shim-to-par