问题标签 [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.
php - Symfony 4,登录,如何调试错误“无效凭据”?
从 symfony 4 开始,我想创建一个简单的身份验证表单。我创建了一个用户类(标识符是电子邮件字段,而不是“用户名”,我创建了一个类控制器并配置了 security.yml 文件。
我用这个静态方法创建了一些用户:(对于测试,默认密码是'test')
它的工作,我的数据库中有一些用户使用加密密码。
但是当我进入表单页面并尝试登录(填写电子邮件/密码字段并单击提交按钮)时,我收到错误“凭据无效”。
这个错误是什么意思?如何/在哪里调试我的代码以查找为什么会发生此错误?
下面,我的代码的主要部分,也许你会看到一个我没有看到的错误:
security.yaml 文件:
用户实体类:
登录控制器:
和模板 login.html.twig 文件:
php - 使用Api-Platform,如何在创建时自动将授权用户添加为资源拥有者?
如何在创建时自动将当前授权的用户添加到资源中(POST
)。
我正在使用 JWT 身份验证,并且 /api/ 路由受到未经授权的用户的保护。我想设置它,以便当经过身份验证的用户创建新资源(即通过向 发送POST
请求/api/articles
)时,新创建的Article
资源与经过身份验证的用户相关。
我目前正在使用自定义的EventSubscriber
每种资源类型从令牌存储中添加用户。
这是订阅者基类的要点: https ://gist.github.com/dsuurlant/5988f90e757b41454ce52050fd502273
以及扩展它的实体订阅者: https ://gist.github.com/dsuurlant/a8af7e6922679f45b818ec4ddad36286
但是,例如,如果实体构造函数需要用户作为参数,这将不起作用。
例如
如何在实体创建时自动注入授权用户?
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。
我错过了什么 ?谢谢。
php - Symfony 4:忽略来自调试工具栏的内核事件
我对 Symfony 很陌生,所以如果这对你来说很明显,请原谅我 :)
对于我的项目,我需要根据 url 执行一些操作。我使用内核事件,更具体地说是内核请求。
在 services.yaml 中:
在 UrlManager.php 中:
但是当我处于 DEV 模式时,调试工具栏再次触发相同的事件......我发现的唯一解决方法是在我的治疗之前添加这个:
也可以正常工作,但我认为这不是最好的做法,因为项目中会保留一些非常具体的内容,并且仅适用于 DEV 模式。有没有办法“告诉”工具栏不要触发这个事件?也许要在 services.yaml 中添加一些东西?或者其他一些配置参数?
symfony - 如何使用 Symfony 4 处理 .env 文件
我正在使用.env
文件来存储有关环境的一些信息(例如数据库详细信息)。
Symfony 有一个组件https://github.com/MarcinOrlowski/process-dotenv来解析它,但我不知道如何生成它。
我的项目是在生成 ZIP 文件(作为发行版)的 GitlabCI 上“构建”的。
我找到了https://github.com/MarcinOrlowski/process-dotenv项目,但是由于 Symfony 没有提出这个,我想知道这是否是一个好习惯?
php - Symfony EasyAdmin ManyToMany 添加时出现错误:无法确定类“App\Entity\Subject”中属性“users”的访问类型
我正在尝试使用easyAdmin在两个类之间建立一个简单的ManyToMany关系,当我尝试添加时,什么也没发生,所以在配置yml中我添加了by_reference false,但我经常遇到这个错误:
无法确定“App\Entity\Subject”类中属性“users”的访问类型。
这是我的班级用户:
这是我的主题课:
和 easy_admin.yml 中的小配置:
我很迷茫,我真的不知道问题出在哪里,我不明白为什么我经常遇到这个错误......
php - Symfony 4:您请求的服务不存在
我将我的网站从 Symfony 3.4 更新到 Symfony 4 并进行了一些更改。但知道我有这个错误:
您请求了一个不存在的服务“D”。
这是我的堆栈跟踪:
提前感谢您的帮助。
php - 当实体从 JsonSerializabelInterface 实现时禁用延迟加载
我的实体是这样的:
该Definition
实体还与 有reversedBy
关系,Word
并且从 实施JsonSerializable
。
现在,当我找到一个特定的单词时,我必须遍历定义才能访问所有Definition
s (我认为是因为延迟加载)。像这样
但我不想迭代定义。我想访问所有定义,当json_encode
我$word
现在我的问题是:当实体实现时如何禁用延迟加载JsonSerializabelInterface
?
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中提到的结构
感谢您的任何想法。
克雷格