问题标签 [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.

0 投票
1 回答
593 浏览

php - Symfony 3 微内核和 ORM

我使用的是 Micro Kernel,并尝试配置 Doctrine ORM。

应用程序/配置/config.yml

应用程序/AppKernel.php

src/App/ControllerMicroController.php

src/App/Entity/Article.php

当我尝试从数据库中获取某些内容时,我得到:

班上'App\Entity\Article' was not found in the chain configured namespaces

我认为问题出在 ORM 配置中。任何人都可以帮忙吗?

0 投票
1 回答
3955 浏览

php - Symfony 3 在执行 SELECT NEXTVAL 时发生异常

当我尝试插入某些东西时出现此错误

执行 'SELECT NEXTVAL('oficinas_id_seq')' 时发生异常:

SQLSTATE [42P01]:未定义表:7 错误:不存在关联 «oficinas_id_seq» 第 1 行:SELECT NEXTVAL('oficinas_id_seq')

这是我的实体

我已经测试过这个学说命令但没有用

php bin/console 原则:映射:导入 Bundle 注释 php bin/console 生成:doctrine:entities 捆绑 php bin/console 原则:schema:update --force

任何的想法?

0 投票
1 回答
1702 浏览

symfony - Symfony 3.3:无法添加和删除具有集合表单类型的同一实体的项目

我是 Symfony 的新手,所以我从官方教程开始,安装 Symfony 框架 3.3.2 并完成教程,同时根据我的特定需求自定义实体、控制器、表单和视图。

所以基本上我有一个名为 BasePreset 的实体,数据库中已经有几行,我终于设法创建了一个表单集合类型,它呈现带有“添加”和“删除”链接的可编辑 BasePreset 实体字段列表:第一个将新的空白字段添加到列表中,并且每个“删除”链接都会从 DOM 中删除相应的字段。一切都根据文档。

所以我成功地更新了现有字段(我在重新加载后以及在数据库中看到了表单 HTML 的正确更改)。

问题是,添加/删除不起作用。没有给出错误。签入 Chrome 开发工具:按预期发送参数。

我使用了以下有关表单构建器的文档(当然还有很多谷歌搜索):

http://symfony.com/doc/current/forms.html

https://symfony.com/doc/current/best_practices/forms.html

https://symfony.com/doc/current/form/form_collections.html

https://symfony.com/doc/current/reference/forms/types/collection.html

现在,在这个文档中声明:

您必须同时创建 addTag() 和 removeTag() 方法,否则即使 by_reference 为 false,表单仍将使用 setTag()。您将在本文后面了解有关 removeTag() 方法的更多信息。

目前我没有任何引用的子实体,如示例中所述。我只想能够编辑相同的普通实体,包括添加新项目和删除现有项目。也许我错了,但这在我看来似乎是一个微不足道的基本目标。我不明白如何正确地将“setBasePreset”和“removeBasePreset”方法添加到“BasePreset”实体本身。

当然,我可以跳过使用表单生成器,但我想利用它作为框架的一部分的功能。任何建议,例如,可能指向我错过的一些相关文档/教程 - 将不胜感激。

帖子示例(一加一删):

'BasePresetsType' 类:

'BasePresetType' 类:

控制器方法:

风景:

最后,最长的列表 - 'BasePreset' 实体类:

0 投票
3 回答
1559 浏览

php - 尝试访问用户时令牌为空

我对 Symfony 3 中的令牌有一个奇怪的问题。

我将其注入security.token_storage到我的 Twig 扩展中

现在,在构造函数中,我想从令牌中获取用户。

这就是问题所在。如果我转储$token,一切似乎都很正常。这是令牌的转储:

但是如果我正在使用$token->getUser();我会收到一个错误,我正在getUser调用null

(1/1) FatalThrowableError

在 null 上调用成员函数 getUser()

此错误将显示在 Symfony 分析器中。现在,如果我$token->getUser();从代码中删除该部分,然后重新加载分析器,则会显示用户。

我无法解释这种行为,也无法解释为什么会引发有关null变量的错误。有人可以向我解释一下吗?

我已经尝试将整个容器注入服务器并尝试让用户通过容器,但结果是一样的。

0 投票
1 回答
852 浏览

php - Symfony 3 将默认语言设置为西班牙语

我是 symfony 的新手,这是一个简单的问题。我需要西班牙语作为默认值。

我将 security.yml 更改为

但我仍然得到

无效证件。

先感谢您!

0 投票
0 回答
746 浏览

php - 无法转换属性路径“[open_time]”的值:应为 \DateTimeInterface

我目前正在尝试创建一个表单,以便用户可以为公司添加(多个)营业时间。创建表单工作得很好,但编辑表单似乎一直抛出这个错误。

无法转换属性路径“[open_time]”的值:应为 \DateTimeInterface。

当我将BusinessHoursType表单类型中的“open_time”从TimeType 更改TextType 时。它似乎工作正常。但是用户必须在与小时/分钟下拉列表相反的文本字段中输入数据。我还在使用输入的时间和日期检查特定公司是否营业。

我怎样才能让它与 TimeType 一起使用?我觉得我在这里忽略了一些小东西。

商业实体

业务控制器

业务类型

营业时间类型

一切都保存在我的数据库中,作为 1 个名为 business_hours 的属性,如下所示:

我的newAction如下(它可以工作并将所有内容保存在数据库中,包括营业时间

0 投票
1 回答
70 浏览

symfony - 如果用户没有正确的角色来访问链接,则最佳实践

我正在使用注释来管理对我的控制器的安全访问,例如:

当用户到达此链接但没有定义角色之一时,我想知道如何管理。最佳做法是什么?重定向?只是显示一条错误消息?

0 投票
1 回答
429 浏览

php - 从 Symfony3 上的 parameters.yml 获取参数

我是 Symfony3 的新手,正在尝试学习 api 连接。

只需使用endroid_twitter包。

我将 twitter api 密钥复制到 parameters.yml 但是当我尝试在 DefaultController.php 上使用此密钥时,它出错并且无法获取密钥。

这里:“未定义的变量”

参数.yml

DefaultController.php

0 投票
0 回答
218 浏览

php - Symfony 找不到路由

我想创建一个新页面,所以我创建了一个新包来创建到另一个页面的新路由,但是路由存在问题'找不到“GET/products”的路由'

这是我的控制器

这是我的路线

当我执行这样的命令时会出现路线php bin/console debug:router

产品 任何 任何 / 产品

我执行命令 server: start 然后 server:run 问题仍未解决

谁能帮帮我

0 投票
1 回答
459 浏览

symfony - Symfony 3.3 自动配置服务和使用

我将我的项目更新到 Symfony 3.3。我想为服务使用新的自动配置功能。我试图摆脱,$this->get()但我在控制器和命令中有错误。

在控制器中使用下面的代码示例,我有这个错误:

在命令中,我根本不知道如何摆脱$container->get()

你知道我怎样才能让它工作吗?

控制器:

我的配置:

编辑:修改 config.yml 后出现新错误

新的错误信息