我在使用 Symfony2 表单组件时遇到了性能问题,我正在使用该组件创建一个包含 300 个复选框的表单。此表单必须灵活(应使用给定的数据树在 SET_DATA 事件上创建复选框。我还使用订阅者使我的表单灵活。
问题:
- 表单生成平均需要 900 毫秒(考虑到输入大小,这是相当长的时间)
- 绑定我的表单需要更多时间(平均 1 秒)
假设:
- propertyPathMapper 花费了太多时间来创建路径并寻找正确的路径来获取验证错误消息。
我的问题:
- 对于 PropertyPath 问题,您知道如何解决吗?如果不是,关于如何优化我的表单的任何想法?
我们的代码:
我创建了一个 github Gist > https://gist.github.com/2867617
- data.array 是我们用来生成搜索表单的数据格式。(树可以有许多子级别,并且是从我们的数据库创建的)
- SearchType.php 是我们的主要搜索类型
- 我们正在使用的其他类正在帮助我们迭代并生成所有搜索条件元素。
PS:我们使用的是 Symfony2 的 2.0.15 版本,
谢谢,