问题标签 [symfony-4.2]

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 投票
2 回答
1956 浏览

php - Symfony 4 Bundle 的自定义配置 yaml 文件

我正在尝试将捆绑包转换为 symfony 4,并且需要将我古老的 parameters.yml 更新为现代 symfony 4 的生活方式。基本上,捆绑包本身——在多个应用程序之间共享——应该在 /config/packages/ 下有一个可配置文件。

但是我收到此错误:

/PtmrBundle/DependencyInjection/ PtmrExtension.php

/PtmrBundle/DependencyInjection/Configuration.php _

/config/packages/ptmr.yaml _

-- 注意:Bundle 本身可以工作。

我将此行添加到composer.json中的 psr-4 :

这行到 config/routes/ annotations.yml

这些行到 config/ services.yaml

当然还有 PtmrBundle/PtmrBundle.php

我正在按照这些说明进行操作,并且我确实没有看到任何错误。我错过了什么?Symfony 4.2。

0 投票
3 回答
2071 浏览

symfony - 如何在 symfony 4.2 中使用 JMSSerializer

我正在使用 symfony 4.2 构建 Api,并希望使用 jms-serializer 在安装后以 Json 格式序列化我的数据

作曲家需要 jms/serializer-bundle

当我尝试以这种方式使用它时:

它给了我这个错误:

Service "serializer" not found, the container inside "App\Controller\DemandController" is a smaller service locator that only knows about the "doctrine", "http_kernel", "parameter_bag", "request_stack", "router" and "session" services. Try using dependency injection instead.

0 投票
0 回答
444 浏览

php - 使用 symfony4 和教义设置多个数据库时如何修复在两个数据库上运行的迁移

我正在尝试为 symfony 4.2 项目设置第二个数据库。在我运行迁移之前,一切似乎都运行良好,所有迁移都在给定的连接上执行,而不仅仅是它创建的连接的迁移。

按照symfony 自己的文档 ,我的学说.yaml 看起来像这样:

现在有了这个配置,我可以使用 --em=log/default 参数运行迁移命令,如下所示:

你会得到预期的结果:当我添加 --em=log 时,它只会为我在 src/Log 创建的新实体创建一个新的迁移。

这是新实体:

但是,迁移是在默认的 src/Migrations 文件夹中创建的,因此:

1)这个迁移在我运行的时候也执行doctrine:migrations:migrate --em=default(在默认数据库中创建表)

2)我运行时将整个默认模式加载到日志数据库中doctrine:migrations:migrate --em=log

所以我认为解决方案是将实体管理器之间的迁移文件拆分到不同的目录中。但是我已经花费了几个小时并且找不到为 symfony4 执行此操作的方法。另外,由于 symfony 文档完全没有提到这点,我觉得现在的设置方式可能有问题。

那么谁能告诉我我在这里做错了什么?或者我可以(如果是的话:如何)拆分迁移文件,以便它只执行为给定实体管理器创建的迁移?

0 投票
0 回答
366 浏览

php - 发布数据 xml 包含 DOCTYPE 时收到无效的 xml 消息

我有一个将接受 XML 形式的 POST 的 REST 端点。目前,当它尝试解码内容时,它会在 vendor/friendsofsymfony/rest-bundle/EventListener/BodyListener.php(第 115 行)中抛出“收到的无效 xml 消息”。

这是前三行代码。请注意 XML 本身会验证。

我能说的最好的部分是:

如果我从我的测试帖子中删除这一行,请求就会通过。

如果没有这个字符串,我将无法接收 XML,那么是否有配置或其他东西会告诉解码器忽略它?是否有其他配置告诉它使用 .dtd 来验证 XML?

知道我错过了什么.. 不确定从哪里开始寻找。

添加控制器代码。

0 投票
2 回答
3596 浏览

php - 如何使用 symfony 4.2 在 dompdf 生成的 pdf 中显示图像?

在此处输入图像描述我正在使用 DOMPDF 生成一个 pdf 文件。我的 pdf 文件是录取卡,其中包含有关特定学生的信息。

在这张录取卡中,我有两张图片要展示。所以在我的树枝文件中,

个人资料图片:

公司形象:

这两个图像都没有在我的 PDF 文件中生成。我给出'找不到图像或输入未知'。

我正在从数据库中获取个人资料图像,而公司图像存储在项目文件中,即,

公共/资产/图像/xyz.png

控制器:

我附上了屏幕截图。

我应该如何在我的树枝文件中提供路径,以便可以在 PDF 文件中呈现图像?

0 投票
1 回答
67 浏览

php - 在 CollectionType 中自动设置数据库 ID

我有两个实体,ParkingType 和 Exception,它们之间存在 OneToMany 关系,因为每个 ParkingType 都可以有多个异常。

我这样做了,所以每当我创建一个新的 ParkingType 时,我也可以同时创建与之相关的异常。我通过在parkingtype 表单中使用包含异常表单的CollectionType 来做到这一点。集合类型是动态的,因此我可以添加任意数量的异常。

问题:异常表有一个名为 type_id 的列,用于将该异常与 ParkingType 相关联,我每次都必须通过从下拉列表中选择来自己填充该字段。我不想这样做,我希望该字段默认引用我刚刚创建的对象。我的代码:异常实体:

ParkingType 实体:

停车类型表格:

例外形式:

0 投票
0 回答
3346 浏览

symfony - Symfony 4 从 api 登录生成 Api 令牌|使用电子邮件和密码注册

我正在使用 Symfony 4“带有 Guard 的自定义身份验证系统(API 令牌示例)”带有 Guard 的自定义身份验证系统(API 令牌示例)

我想在用户从其他应用程序(即 Advance Rest 客户端)注册时生成 api 令牌,然后想使用此令牌访问其他 api,例如获取文章列表。

没有生成令牌的选项,或者我可能找不到。

这是我的代码:

配置/包/security.yaml

控制器/RegistrationController.php

}

安全/TokenAuthenticator.php

下一个问题是如何从文章 api 中的令牌中获取用户详细信息?

0 投票
1 回答
3105 浏览

php - 为什么 .env 文件优先于 .yaml 文件作为环境变量?

Symfony更喜欢使用.env 文件(用于在其中保存环境变量的值)而不是使用更灵活的 .yaml 文件的主要原因是什么/是什么?

我问这个,因为我读了这个评论,其中指出:

当我们使用 .yaml 文件时,它要简单得多。
我完全理解为什么我们需要切换到 .env 文件,但恕我直言,我们应该重新考虑一切。

感谢您的时间。

0 投票
0 回答
53 浏览

php - 为什么当我发出 SQL 请求但没有保存在数据库中时,表单提交后我的数据发生了变化?

当我提交我的表单并且我在数据库中获得了团队时(之前没有 INSERT / 没有 UPDATE),当我已经在数据库中拥有旧成员的 ID 时,Doctrine 返回新成员的 ID(我在表单中被选中)。

如何解决问题?

感谢。

0 投票
1 回答
1396 浏览

symfony4 - Symfony4.2 Autowire 捆绑服务

我想在自己的服务中自动装配捆绑服务接口,但出现错误:

我的代码是:

如果我只注入实体管理器或我定义的服务,一切正常,但无论我尝试注入什么捆绑服务(guzzle、browserkit、jms 序列化程序等),它都不起作用。

我为 Web 项目定义了默认的 symfony services.yaml 文件:

我正在使用 Symfony4.2。

这个问题的解决方案是什么?