问题标签 [symfony-3.3]
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.
php - Symfony 3:无法从控制器内部访问容器
我正在将我的应用程序从 Symfony 2.8 迁移到 Symfony 3.3。
从我的控制器内部,我有这个:
但我收到了这个例外:
在 null 上调用成员函数 get()
我的控制器扩展Symfony\Bundle\FrameworkBundle\Controller\Controller
:
所以我可以访问容器。
在 Symfony 的代码中放置一些转储,我看到容器设置正确:
这转储
因此自动装配运行良好并设置了容器。
但在ControllerTrait
我有这个:
这是转储:
所以这里container
是null
,这会导致错误。
任何人都可以帮我解决这个问题吗?
为什么是container
空的?
如果可能有帮助,这是services.yml
配置(Symfony 附带的默认配置):
这个问题作为问题发布在Symfony 的问题跟踪器上。
symfony - 对外部 API 的模拟调用
今天,我尝试将我的项目升级到新版本的 Symfony (3.3),但我的模拟遇到了问题。
直到今天,我一直在做这样的模拟:
在这里,method1
只是一个 Guzzle 的帖子,没有别的。
现在,我收到以下错误:
设置“my_service”预定义服务自 Symfony 3.3 以来已被弃用,并且在 Symfony 4.0 中不再支持:1x
经过一番研究,我似乎无法使用我的代码的最后一行。问题是,我看不到也找不到解决此弃用的任何解决方案。
php - 对于某些(但不是全部)表单提交得到“无法确定属性“id”的访问类型。”
我有一个复杂的表格,它映射到一个集合Entity
,它允许以给定的价格购买一个活动的门票,对于大多数活动它都有效,但是对于其中一个活动,我们以可重复的方式得到了错误Could not determine access type for property "id"
在这种情况下,我知道这Could not determine access type for property X
是因为缺少 setter。确实没有setId()
方法和id
is protected
,但我认为 symfony 不应该首先尝试设置 id (因为它适用于其他形式,即购买门票,并正确显示与活动的链接等)
所以我的问题是为什么在某些情况下 symfony 需要 setId()
我有以下实体
事实上,“HasId”特性没有设置器(但它是故意的),或者至少直到现在它从来都不是问题
和表格
创建表单的控制器如下所示
异常回溯如下
当添加一些时debug
,我可以看到 2Pricing
是
因此,symfony 似乎正试图用另一个有效/现有的定价来覆盖这个定价的 id(这是一个有效/现有的),我认为这就是它试图通过尝试调用来“替换”它的原因setter 失败了,但为什么会这样呢?
编辑:
经过更多调试后,我发现了一个令人不安的巧合:
d82cafb8-432b-4e20-ac9f-66e48dc55458
addQuantitiesByPricing
是我在方法中添加一些调试时添加的第一个 id80424145-ca68-4dce-b4f0-644a423d3aad
是提交表单中索引为 0 的定价 ID
Edit2:我的控制器创建表单的方式(并且是调用addQuantitiesByPricing
制作d82cafb8-432b-4e20-ac9f-66e48dc55458
首先出现的表单),使我们首先从数据库中检索这些 Id,然后再将 Ids POSTed
php - Symfony 3.3 服务自动配置
我正在尝试迁移到 symfony 3.3 并使用新功能autowire
/autoconfigure
服务:
所以在 services.yml 我有:
我将我的树枝扩展声明为:
和此服务的构造函数:
似乎一切都很好,但我收到了这个错误:
并且不知道如何解决它。
php - Symfony 中的生产环境不起作用
当我从 切换
app_dev.php
到时,会出现这种情况app.php
。
阿帕奇日志:
我做了所有像http://symfony.com/doc/current/deployment.html 我做错了什么?
编辑:
我有 7.1 php


symfony - 如何翻译 Symfony 3 表单?
翻译树枝模板中的内容似乎很简单直接:我运行bin/console translation:update
以填充翻译文件。问题是它似乎忽略了表格。
创建实体、存储库和表单/类型后,我使用{{ form_row(form.field) }}
在 twig 模板中使用来绘制表单元素。
是否有关于如何自定义和翻译表单标签、占位符和错误消息的成熟实践?
我必须使用form_label
andform_widget
而不是form_row
自定义标签吗?
symfony - 根据 Symfony 3 中的配置加载不同的数据夹具
目前,我们正在为一些在线商店(以及未来可能的新商店)开发一套微服务。出于商业原因,我们将有相同软件的不同实现,因此每个商店都会要求它的一个。
我需要根据实现在数据库上设置不同的初始数据包,这意味着每个数据装置都有不同的数据装置。
我正在寻找一种根据配置参数(company_name、company_slug ...)加载正确夹具的好方法。最好的方法是什么?
php - Symfony 3 评级表在一页上显示的多个类别
在某些Company
(实体)页面上,我显示了Categories
公司可能拥有的几个(实体)。对于显示的每个类别,我都需要添加带有评分值的简单表单。所以我创建了实体 CalledRating
并生成了RatingType
. 现在我遇到了为每个显示的类别显示此表单的问题,我只能在第一次category
出现时显示表单一次,但是在Rating
表单中它无法获取id
它应该连接的类别的名称(the )。
该Rating
实体已定义Category
并Company
关联多对一 (@ORM)。
我将不胜感激如何处理。
我想诀窍在于控制器,所以下面是我的代码:
这是RatingType
代码:
symfony - Symfony 从 3.2 升级到 3.3:TraceableAdapter
我已将 Symfony 从 3.2 升级到 3.3。我读过这个:https ://github.com/symfony/symfony/blob/master/UPGRADE-3.3.md
但是现在,我有这个错误:
类型错误:传递给 AppBundle\EventListener\ForumListener::__construct() 的参数 2 必须是 Symfony\Component\Cache\Adapter\FilesystemAdapter 的实例,给定 Symfony\Component\Cache\Adapter\TraceableAdapter 的实例,在 /var/ 中调用www/symfony/WikiSport/var/cache/dev/appDevDebugProjectContainer.php 第 612 行
我不明白,因为在 UPGRADE-3.3.md 中,没有 FilesystemAdapter 或 TraceableAdapter 的信息。
论坛监听器.php:
和 services.yml :
你能帮助我吗 ?非常感谢 :)