问题标签 [symfony5]

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 投票
1 回答
359 浏览

php - Symfony 5 在表单提交后向表单添加字段

假设我有以下形式:

提交表单后,我想向其中添加用户无法完成的另一个字段。让我们打电话给有问题的领域new_field

到目前为止,我已经尝试使用表单事件:

而且我显然遇到了一个异常:You cannot add children to a submitted form,这很公平。

我可以做的另一件事,我非常不想做,因为它看起来很hacky是在控制器中创建一个新实体,设置我从表单获得的数据并保存它。

我还可以为表单创建一些通用父级并对其进行修改,但这似乎更加hacky。


我不反对这里的另一种方法。也许我一开始就看错了。

0 投票
2 回答
5638 浏览

php - Symfony 5 SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo 失败:

我正在尝试运行

我收到了这些错误

我检查了我所有的 .env 文件。我已经配置了

我已将教义配置更改为使用 server_version:'5.7'。我不确定这是否正确。我刚刚从该行前面删除了#,因为注释说您必须配置您的服务器版本。但不确定它指的是哪个服务器。

所以,我的问题是如何在 Symfony 中测试数据库连接。我已经搜索了这些文件,但无法找到这个问题的明确答案。当我跑

这会产生错误

进行配置更改后,我已经清除了两次缓存,但仍然收到相同的错误消息。我还有什么其他方法可以测试数据库连接。

https://symfony.com/doc/current/doctrine.html#configuring-the-database

0 投票
0 回答
641 浏览

php - 属性路径中给出的“字符串”、“对象”类型的预期参数

我正在尝试更改用户的密码。在下拉列表中选择用户。

首次呈现表单时,我会看到用户列表。然后我填写新密码并提交。然后我得到错误:“在属性路径用户名处给出的类型为“字符串”、“对象”的预期参数”。错误发生在控制器中

$form->handleRequest($request);

这是控制器:

我认为有一个属性需要是字符串而不是对象。这只是与用户名属性有关。我试图在用户实体上添加一个 toString 方法但没有成功。我必须改变什么才能摆脱错误并将新密码保存到数据库中。

0 投票
1 回答
2205 浏览

symfony - Symfony 5 自定义 404 页面

我正在尝试为 Symfony 5 项目创建一个自定义 404 页面,该页面必须:

  1. 输出一个简单的 JSON 编码字符串,例如“未找到”。
    • 必须从翻译资源中读取所述字符串。
  2. 有一个额外的Content-Type: application/json标题。

Symfony 文档中有一个部分试图解释如何实现这一点,但信息似乎不完整/不正确,显然是为 4.X 版本编写的,甚至指向 GitHub 上不存在的源文件。

我设法创建了一个错误控制器,但它吞噬了所有错误:

问题是这会导致返回 404 页面的任何错误(包括内部错误)。

我怎样才能让这个控制器/方法只处理 404 错误,而让框架本身像以前一样处理其他一切?

0 投票
1 回答
380 浏览

php - 如何在 symfony 5 中包含类?

我有一个带有 Paysafecard 类的 php 文件。文件名为 Paysafecard.php。我想将它包含在我的控制器中。我该怎么做?

0 投票
1 回答
6013 浏览

php - 为什么我在 Symfony 5 上使用 DateTime 约束时会收到“这个值应该是字符串类型”?

我有以下实体(仅附上相关部分):

它的存储库:

在向事件端点(通过 Postman 或 Swagger UI)创建 POST 请求时,它会失败并出现以下异常:

剖析器

0 投票
1 回答
153 浏览

php - 数组中的 Twig 变量

认证控制器:

通常我在树枝模板中使用{{ lang.stringname }}. 在这种情况下,我想调用一个带有值的字符串,该值是通过“消息”提交的。

我试过这个:

错误信息是:

有人有想法吗?谢谢你。

0 投票
0 回答
411 浏览

forms - Symfony 5 动态表单条件默认逻辑

我有一个用例,我需要在 Symfony 5 中构建的动态表单上使用一些默认条件逻辑。

让我试着用一个简单的表格来解释我的用例是什么以及我的问题。例如,我有一个包含两个字段的表单产品:

  1. 部分(选择类型 => 左、右)
  2. 长度(数字类型)

更改时,所有字段 (:input) 都通过 Ajax 请求提交。我有两种控制器方法,一种用于访问页面(正在构建表单),另一种用于通过 ajax 请求呈现表单(处理条件逻辑)。

对于条件逻辑部分,需要完成以下操作

  • 剩下部分时,默认长度需要为 50
  • 当部分正确时,默认长度需要为 100
  • 用户可以更改默认数据

根据左或右设置长度的默认数据不是问题。选择 left 时,默认长度变为 50。当将值更改为 55(每次更改都提交表单)时,它再次变为 50。这种行为是合乎逻辑的,但是如何覆盖默认数据呢?

上述情况也可以描述为给用户默认数据并选择更改它

表格类型

控制器

0 投票
1 回答
67 浏览

unit-testing - 在测试客户端中访问请求容器(event_dispatcher)

我在 Symfony 中创建了一个简单的测试用例。因此,一个客户端应该侦听将在请求期间调度的事件。但是什么也没发生,因为请求有自己的范围,或者我不知道为什么我无法访问其中的调度程序。

永远不会调用侦听器。当我稍微调试一下时,我发现对象哈希通过spl_object_hash($dispatcher)在最高级别上与在request级别内不同。所以似乎request有一个自己的世界,而忽略了外面的一切。

但接下来的问题是如何让我的听众进入这个“世界”?

0 投票
2 回答
1552 浏览

php - 带有 MicroKernelTrait 的 Symfony 5 微应用程序抛出错误“控制器没有容器集”

我正在尝试使用 Symfony 5 构建一个微应用程序,单文件方法有效,但使用 Twig 等的高级示例却没有。

我按照此处发布的确切描述构建了一个测试项目:https ://symfony.com/doc/current/configuration/micro_kernel_trait.html ,我具有与示例相同的目录结构和相同的文件内容:

在此处输入图像描述

这是启动应用程序的 index.php:

这是带有(示例)操作的微控制器:

调用 Kernel.php 中的方法“configureContainer”并运行没有错误:

但是项目仍然没有运行,调用有效的路由(例如示例中的“/random/10”)给我错误:“ “App\Controller\MicroController”没有容器集,你忘记将它定义为服务订户?

我的 composer.json 看起来像这样:

我错过了什么?任何提示表示赞赏。