问题标签 [symfony3.x]

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.

0 投票
3 回答
2777 浏览

symfony - FOSUserBundle - PHPUnit - 模拟用户

我正在使用带有 FOSUserBundle 的 Symfony,现在我想测试一些东西,例如:

  • 教义生命周期
  • 防火墙后的控制器

对于这些测试,我需要成为特定用户或至少在用户组中。我如何模拟用户会话,以便...

  • 像“createdAt”这样的生命周期字段将使用登录用户
  • 控制器的行为就像一些模拟用户已登录

例子:

0 投票
4 回答
58817 浏览

php - 选择字段默认值

我有以下表格:

如何在呈现表单时默认选中“朋友”复选框?

0 投票
2 回答
3436 浏览

php - 如何在 Symfony 3 中正确存储日期时间?

我正在尝试将 mysql 日期时间存储在 Symfony 存储库中,但出现错误。尝试了来自网络和堆栈的几个建议,但没有什么能让这个错误消失。这就是我想要做的(为了清楚起见,代码被缩写)

我的实体字段:

我的回购代码:

但我一直收到这个错误:

如您所见,我想获取当前日期并将其添加 84 天,然后将其存储到 mysql 日期时间中,但无论我尝试了什么,此错误都会不断出现。任何人?

0 投票
2 回答
455 浏览

database - Symfony 3 - 生产中的数据库静态数据。夹具?移民 ?还有什么?

据我所知,夹具是“用于持续测试某些项目、设备或软件的东西”。它应该只在开发和测试环境中使用。

我的背景: 我有一个网络应用程序,它建议销售 5 种特定产品。没有后台可以编辑/删除/添加产品,但是有后台可以修改产品价格和描述,这就是为什么我需要数据库中的 5 个产品。要初始化应用程序,我想将我的 5 个产品插入数据库(通过代码)。

我可以使用夹具在我的数据库中插入产品,但我认为这不是夹具的工作,它只能在“开发”或“测试”环境中使用。

"doctrine:schema:update" 似乎也不是正确的解决方案,因为它只更新模式(我的数据库的结构),而不是关于数据。

有没有办法使用 Symfony3 在我的数据库中插入“静态数据”?数据迁移系统 ? 有正确的方法吗?使用学说迁移捆绑包?

0 投票
1 回答
976 浏览

php - 在 Symfony 控制器中获取数据属性值

在我的视图中,我有这个隐藏的字段

我像这样通过 jQuery使用data 属性向它添加额外的数据

现在我需要fileName 我的控制器中检索它。我知道我可以通过

但我还需要数据属性( fileName) 的值。我该怎么办?任何线索都非常感谢。

0 投票
1 回答
2504 浏览

collections - 如何使用 symfony3.x 正确显示多个 CollectionType 字段

您好我正在尝试为使用多个不同集合的实体建模。我试用了https://github.com/ninsuo/symfony-collection项目,它提供了广泛的有用选项。我见过的最接近的例子是集合集合,其中一个实体有多个相同子实体类型的集合。我试图通过几个不同的子实体类型集合来实现相同的行为。

我的实体面临的问题是,当我只在其中放入一个集合时,代码可以正常工作,但是当我添加另一个子实体的第二个集合并发送我的表单时,我的控制器代码最终会删除另一个集合的元素. 我将其范围缩小到视图,因此我要询问该特定项目。

我目前正在使用 Symfony 3.x,并且已经能够遵循列出的示例直到仅使用一个集合才能很好地工作,我能够添加、删除和更新。

我的控制器代码:

如您所见,不同类型的多个集合。接下来,这是其中两个 FormType 的代码,BookingAccommodationTypeBookingCarType

预订住宿类型:

预订车型:

所有视图相关的代码如下。

main_view.html.twig:

bookingCars.html.twig:

bookingAccommodations.html.twig:

jquery.collection.html.twig:

我首先想知道symfony-collection库是否可以在具有一个实体和多个不同子类型集合的环境中使用

提前致谢 ...

0 投票
1 回答
494 浏览

symfony - symfony 验证不起作用

我想我缺少一些东西。我有一个通过yml文件验证的用户实体,但每次我向路由发送发布请求时,它似乎都没有收到我的请求。有了这个,我的意思是路由工作正常,但我不断收到密码和用户名不应为空的错误消息(由于我设置的约束)。因此,我的请求似乎没有针对实体进行验证。

我确保在我的配置中触发了此设置: validation: { enabled: true, enable_annotations: true }

这是我的routing.yml

这是我的validation.yml

这是我的控制器 ( LoginController.php)

我刚刚尝试按照说明进行操作,但我无法让它工作:(我错过了什么吗?

0 投票
4 回答
6796 浏览

php - 在 Symfony 3.3 中使用 DI 在抽象类中自动装配,这可能吗?

我正在将 Symfony 3.2 项目迁移到 Symfony 3.3,并且我想使用DI 新功能。我已经阅读了文档,但到目前为止我可以让它工作。请参阅以下类定义:

这是我的app/config/services.yml文件的样子:

但我收到以下错误:

AutowiringFailedException 无法自动装配服务“CommonBundle\API\AChildren”:方法“__construct()”的参数“$api_count_url”必须具有类型提示或显式指定值。

当然,我在这里遗漏了一些东西,或者根本不可能,这导致我想到下一个问题:这是一个糟糕的 OOP 设计还是 Symfony 3.3 DI 特性中缺少的功能?

当然,我不想让AParent类成为接口,因为我不想重新定义实现此类接口的类的方法。

此外,我不想重复自己并将相同的功能复制/粘贴到孩子身上。

想法?线索?建议?这可能吗?

更新

阅读“如何使用父服务管理公共依赖项”后,我在我的场景中尝试了以下内容:

但是错误变成了:

当设置了“父级”时,服务“CommonBundle\API\AChildren”的属性“autowire”不能从“_defaults”继承。将您的子定义移动到单独的文件或在 /var/www/html/oneview_symfony/app/config/services.yml 中明确定义此属性(从“/var/www/html/oneview_symfony/app/config/ config.yml”)。

但是我可以使它与以下设置一起工作:

这是正确的方法吗?这有意义吗?

更新#2

按照@Cerad 的说明,我做了一些模组(见上面的代码,见下面的定义),现在对象来了NULL?任何想法为什么会这样?

为什么对象NULL在子类中?

0 投票
1 回答
320 浏览

symfony3.x - Symfony - 无法加载侦听器服务

我正在尝试加载一个监听器,但 symfony 不断抛出这个错误:

我的课写得很好(我猜):

它的路径是

src/Louvre/ReservationBundle/Services/Listeners/CommandeListener.php

这是yaml服务

我还有其他完美运行的服务。它们的声明方式相同。

我用谷歌搜索了这个问题,但找不到答案。

有没有人已经面临这个问题?提前致谢

0 投票
1 回答
319 浏览

php - 登录后 Symfony 3 监听器不运行

我正在使用 Symfony3 构建我的第一个 API 登录,但我在登录监听器上绊倒了。我希望在用户成功登录后立即触发一个事件,用于各种常用目的,例如写日志、生成令牌等。因为事情是通过 API 发生的,所以登录系统与经典系统有点不同Symfony 指南中描述的登录表单。从这个角度来看,我确信我错过了一些东西。

监听器初始化:

我的听众:

我的控制器类

我的安全组件

如您所见,验证是针对实体进行的,当用户/密码有效时,返回的 json 是return new JsonResponse('all right, you are logged in');. 验证在作为服务实例化的自定义用户提供程序类中完成(方法loadUserByUsernameAndPassword,它与非常相似),

为什么当用户和密码有效并且发生登录时,侦听器不被视为有效事件来触发interactive_login事件?