问题标签 [symfony4]

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 投票
5 回答
6938 浏览

php - Symfony 4,登录,如何调试错误“无效凭据”?

从 symfony 4 开始,我想创建一个简单的身份验证表单。我创建了一个用户类(标识符是电子邮件字段,而不是“用户名”,我创建了一个类控制器并配置了 security.yml 文件。

我用这个静态方法创建了一些用户:(对于测试,默认密码是'test')

它的工作,我的数据库中有一些用户使用加密密码。

但是当我进入表单页面并尝试登录(填写电子邮件/密码字段并单击提交按钮)时,我收到错误“凭据无效”。

在此处输入图像描述

这个错误是什么意思?如何/在哪里调试我的代码以查找为什么会发生此错误?

下面,我的代码的主要部分,也许你会看到一个我没有看到的错误:

security.yaml 文件:

用户实体类:

登录控制器:

和模板 login.html.twig 文件:

0 投票
2 回答
1675 浏览

symfony - Symfony 4,如何在分析器日志页面中打印日志?

从 Symfony 4 中的 php 文件,如何将变量(用于调试)打印到日志分析器页面?

我的意思是这个页面:

在此处输入图像描述

我试过了:

但是什么都没有出现...

0 投票
2 回答
1555 浏览

php - 使用Api-Platform,如何在创建时自动将授权用户添加为资源拥有者?

如何在创建时自动将当前授权的用户添加到资源中(POST)。

我正在使用 JWT 身份验证,并且 /api/ 路由受到未经授权的用户的保护。我想设置它,以便当经过身份验证的用户创建新资源(即通过向 发送POST请求/api/articles)时,新创建的Article资源与经过身份验证的用户相关。

我目前正在使用自定义的EventSubscriber每种资源类型从令牌存储中添加用户。

这是订阅者基类的要点: https ://gist.github.com/dsuurlant/5988f90e757b41454ce52050fd502273

以及扩展它的实体订阅者: https ://gist.github.com/dsuurlant/a8af7e6922679f45b818ec4ddad36286

但是,例如,如果实体构造函数需要用户作为参数,这将不起作用。

例如

如何在实体创建时自动注入授权用户?

0 投票
2 回答
1353 浏览

routing - Symfony4 如何在所有控制器的 URL 中运行 _locale 前缀?

我正在尝试在我的网站上设置“国际化”。为了处理这个问题,我需要将“locales”设置为所有控制器 URL 的前缀(例如:mywebsite.com/ en /page),然后我在 Symfony4 文档中找到了这个帮助: https ://symfony.com /doc/current/routing/external_resources.html

我修改了这些文件如下

配置/routes.yaml

配置/服务.yaml

配置/包/translation.yaml

如果我按如下方式编写我的 URL:mywebsite.com/en/page,一切正常,但如果我省略在 URL 中编写 _locale,例如:mywebsite.com/page,它会返回 404 错误。我希望它能够到达mywebsite.com/en/page,因为“en”在我的文件中被指定为 default_locale。

我错过了什么 ?谢谢。

0 投票
1 回答
874 浏览

php - Symfony 4:忽略来自调试工具栏的内核事件

我对 Symfony 很陌生,所以如果这对你来说很明显,请原谅我 :)

对于我的项目,我需要根据 url 执行一些操作。我使用内核事件,更具体地说是内核请求。

在 services.yaml 中:

在 UrlManager.php 中:

但是当我处于 DEV 模式时,调试工具栏再次触发相同的事件......我发现的唯一解决方法是在我的治疗之前添加这个:

也可以正常工作,但我认为这不是最好的做法,因为项目中会保留一些非常具体的内容,并且仅适用于 DEV 模式。有没有办法“告诉”工具栏不要触发这个事件?也许要在 services.yaml 中添加一些东西?或者其他一些配置参数?

0 投票
0 回答
645 浏览

symfony - 如何使用 Symfony 4 处理 .env 文件

我正在使用.env文件来存储有关环境的一些信息(例如数据库详细信息)。

Symfony 有一个组件https://github.com/MarcinOrlowski/process-dotenv来解析它,但我不知道如何生成它。

我的项目是在生成 ZIP 文件(作为发行版)的 GitlabCI 上“构建”的。

我找到了https://github.com/MarcinOrlowski/process-dotenv项目,但是由于 Symfony 没有提出这个,我想知道这是否是一个好习惯?

0 投票
0 回答
912 浏览

php - Symfony EasyAdmin ManyToMany 添加时出现错误:无法确定类“App\Entity\Subject”中属性“users”的访问类型

我正在尝试使用easyAdmin在两个类之间建立一个简单的ManyToMany关系,当我尝试添加时,什么也没发生,所以在配置yml中我添加了by_reference false,但我经常遇到这个错误:

无法确定“App\Entity\Subject”类中属性“users”的访问类型。

这是我的班级用户:

这是我的主题课:

和 easy_admin.yml 中的小配置:

我很迷茫,我真的不知道问题出在哪里,我不明白为什么我经常遇到这个错误......

0 投票
2 回答
7130 浏览

php - Symfony 4:您请求的服务不存在

我将我的网站从 Symfony 3.4 更新到 Symfony 4 并进行了一些更改。但知道我有这个错误:

您请求了一个不存在的服务“D”。

这是我的堆栈跟踪:

提前感谢您的帮助。

0 投票
1 回答
63 浏览

php - 当实体从 JsonSerializabelInterface 实现时禁用延迟加载

我的实体是这样的:

Definition实体还与 有reversedBy关系,Word并且从 实施JsonSerializable

现在,当我找到一个特定的单词时,我必须遍历定义才能访问所有Definitions (我认为是因为延迟加载)。像这样

但我不想迭代定义。我想访问所有定义,当json_encode$word

现在我的问题是:当实体实现时如何禁用延迟加载JsonSerializabelInterface

0 投票
0 回答
323 浏览

configuration - Symfony 4 捆绑开发

我正在尝试编写一个包来管理 Symfony 4 中跨多个应用程序开发的常用功能。

我创建了一个新的空白应用程序和新的空白捆绑包,我逐渐向其中添加了功能。为了同时获得注释路由和树枝模板路径,我必须将详细信息添加到 App 配置的路径中,以使捆绑包正常工作。这对我来说似乎很奇怪,因为我希望捆绑配置是自包含的,放置适当的钩子供应用程序抓取和使用。

我在 config/route/hillrange_admin.yaml 的 App 中添加了一个路由文件

我在应用程序中更改的另一个文件是 config/packages/twig.yaml 中的树枝模板路径

这是我可以在https://symfony.com/doc/current/templating/overriding.html中讨论的那样覆盖模板的唯一方法。本文未提及使系统正常工作所需的任何设置。

所以我的问题是:我缺少什么我需要向应用程序添加配置以使捆绑包工作。我已经阅读了很多文档,但到目前为止,我还没有找到使这一切都像我期望的那样工作的信息?

捆绑包结构遵循https://symfony.com/doc/current/bundles/best_practices.html ,应用程序遵循https://symfony.com/doc/current/best_practices/creating-the-project.html中提到的结构

感谢您的任何想法。

克雷格