问题标签 [symfony-2.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
symfony-2.1 - 使用 composer 在 Symfony 2.1 中升级的步骤
我只是在 symfony 2.1-BETA3 上测试新功能。几个小时前 BETA4 已经发布,但我不知道如何使用 composer 将 BETA3 更新为 BETA4。在 2.0.x 发行说明中,Fabien 说:
如果您已经有一个基于 Symfony 标准版 2.0.x 的项目,您可以通过获取新的 deps 和 deps.lock 文件轻松升级到 2.0.15。
我是否替换了我的 composer.lock 文件?我自己的要求怎么样:
symfony-forms - 创建表单时使用条件语句
我想在 Symfony 中创建表单时使用条件语句。
我在一般情况下使用选择小部件。如果用户选择“其他”选项,我想显示一个额外的文本框小部件。我想这可以在 javascript 中完成,但是我怎样才能将来自 2 个小部件的数据保存到我实体中的同一属性中?
到目前为止我有这个:
我打算使用 DataTransfomer,但在 2 个小部件上?
php - Symfony2 Undefined Index Parent 渲染表单时
Symfony 2.1 Beta 4
当我在我的 twig 模板中渲染我的表单时,如果我尝试使用 form_widget 或 form_rest,我将收到此错误 - “在渲染模板期间引发了异常(“注意:未定义索引:MySite/vendor 中的父级/symfony/symfony/src/Symfony/Component/Form/FormView.php 第 308 行“)。” 我可以使用 form_row 手动构建表单并更新属性,但不包括 csrf 令牌。
编辑 7/27 看起来当我只包含 PropertyType 表单类时,form_rest 工作正常。包含 AddressType 后,我会收到上述错误。
我正在使用地址实体的嵌入形式呈现一个属性(即房屋)实体。
我的 PropertyType 表单类:
编辑 7/27:这是我的 AddressType 类:
symfony-forms - 我应该如何在 Symfony2 表单中嵌入一组新实体?
我需要编写一个表单来创建一个新实体,并使用它,最多 3 个关系(它们是新实体)。
我可以让它动态地附加/动态地删除它们(这可能很有用),或者让所有 3 个始终与实体相关,并让它们在它们上具有一个“活动”布尔值,这将是适当的。
我应该在什么时候这样做?我需要将它们呈现为表单上的复选框。
到目前为止,我已经尝试在将它们传递给表单之前将它们附加到实体,但是选择字段不能传递未映射的实体,所以这不好。
我还为此修改了 DataTransformer,尽管那时,据我所知,我必须在 DataTransformer 中创建新实体,这似乎是错误的,而且我无论如何都无法开始工作 - 我没有可以访问其中的实体,甚至绕过它,关系无法正确绑定(Doctrine 尝试首先保存关系)。
在 Symfony1 术语中,我可以为我需要的每个附加关系嵌入几个表格,使用新对象,它就可以工作,所以肯定还有一个相对简单的方法吗?
一位朋友还建议查看 ResizeFormEventListener,但据我所知,这是用于根据返回的数据“调整”表单的大小,虽然我从不希望表单更改,但我总是想要 3 个复选框。
解决这个问题的最佳方法是什么?
php - Symfony2 中不推荐使用的方法 addValidation 和类 CallbackValidator
我有个问题。我需要验证表单类型类中不在实体中的字段。以前我使用过这段代码:
但由于 Symfony 2.1 方法addValidator
和类CallbackValidator
已被弃用。有谁知道我应该改用什么?
symfony-forms - Symfony 表单集合对于第一个条目是只读的
呈现表单时,如何仅为集合中的第一项设置只读选项?
我的简单模型:
我的模型的简单表单类型:
和简单的操作方法我的控制器
我可以在手动呈现表单时设置条件,但我想知道是否可以在表单代码处输入这样的限制。
php - 矩形面积的计算
我很难组织我的代码,我想通过一个简单的例子与你分享我的“问题”:计算矩形的面积。我以代码为例,但阅读每个类部分的第一个介绍很容易解释这种情况。
实体矩形:
实体 Rectangle 包含两个重要的属性$length
和$width
.
形式
当然,用户可以通过表单设置长度和宽度
控制器
CreateRectangleAction: 在 GET 请求上呈现表单并在 POST 请求上处理数据。
ViewRectangleAction:显示矩形。
矩形管理器
现在,为了确保控制器不会做太多事情,我使用 RectangleManager 来实现对 Rectangle 对象的常用操作并将其用作服务(注入适当的元素)。
问题:如果?
如果我需要对矩形进行一些计算怎么办?例如,如果我需要添加一个区域属性,以便我可以直接在模板中渲染区域,而无需在模板中进行计算(长度*宽度)?
不知道如何正确执行此操作,我选择了这个非常糟糕的解决方案:
我创建了一个 RectangleDisplay 类(我在其中注入矩形实体)并在控制器中调用 ViewRectangleAction 时显示该实体而不是 Rectangle 实体。
现在可以在模板中直接访问属性区域。在矩形的情况下,这很好,但在更复杂的元素(圆锥,...)的情况下,我可能想使用一个疯狂计算的服务。我不会将容器注入到我的 RectangleDisplayEntity 中,是吗?
php - Symfony2.1 映射错误:class_parents()
我在尝试使用 Symfony2.1 项目中的 Doctrine2 从表(通过实体)获取数据时遇到问题。这是我收到错误的控制器:
实体:
配置.yml:
这是错误:
这很奇怪,因为正如 Doctrine 在控制台中所说,映射已正确完成:我测试它执行php app/console 学说:映射:信息:
如果我在控制台中执行查询一切正常 - > app/console 学说:查询:sql 'SELECT * FROM SYS_TCountry',返回结果。
我不知道使用Symfony2.1是否必须配置与 2.0 版本不同的东西,但似乎相同,因为映射是 Doctrine 责任。
symfony-2.1 - 表单:避免将 null 设置为未提交的字段
我有一个简单的模型(源代码的简化):
和一个表单类型:
我的控制器:
当 iPOST /users/?form[page]=2&form[limit]=20
时,响应是我所期望的:
现在,当 i 时POST /users/?form[page]=3
,响应是:
limit
变为 null,因为它没有被提交。
我想得到
问题:如何更改表单行为,使其忽略未提交的值?