问题标签 [symfony3.x]

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 投票
0 回答
97 浏览

symfony - symfony3 的聚合物和 web 组件的集成

有人知道如何在 symfony3 中使用简单的 web 组件吗?

感谢您的任何帮助。

0 投票
1 回答
1967 浏览

doctrine-orm - 如何从反面编辑/更新 Symfony 3 中的多对多关系

我正在开发一个 bash 脚本,该脚本使用一些工具和 Symfony 3 bin/console 学说创建一个“从零到 CRUD”的简单项目:生成:* 它工作正常,但在 M:N 关联案例中我无法更新数据从反面。我在这里阅读了一些答案并开始了一些测试,但我对 "cascade={"all"}" 选项、'by_reference' => false 和其他建议感到困惑。从官方教义文档中的这个基本示例开始,最简单的方法是什么?

0 投票
1 回答
2285 浏览

php - 在 Symfony 3 中使用 LDAP 连接/绑定到 Active Directory (Windows),而不使用 dn 字符串

我正在尝试使用 Active Directory 对我公司的 Symfony3 应用程序的用户进行身份验证。我当前的配置如下(这也通过在线 LDAP 测试服务器成功测试,因此我可以确认 Symfony 配置是正确的)。

当我尝试登录时,我会因为“凭据无效”而被拒绝,但我确信我的凭据输入正确。我希望这里的主要问题是“search_dn”和“search_password”是我自己的,我在我们的 AD 中没有管理员权限。看来(根据 Symfony 文档)这些凭据需要是 AD 管理员用户的凭据。我正在等待来自我的系统管理员的此信息,但它必须上链,因此可能需要一段时间。我也尝试用空值替换它们,这会引发不同的错误。

我的问题出现在这一点上,因为我实际上能够通过以下代码单独使用 PHP 建立成功的连接并与我们的 AD 绑定:

基本上我想看看我是否可以以某种方式将上述独立的 PHP ldap 绑定代码复制到我的 Symfony 项目中(似乎 Symfony 中所需的 dn 字符串导致了问题)。我对此相当陌生,所以我不太明白为什么独立的 PHP 代码允许 LDAP 绑定,而使用 dn 字符串却不允许(除了我们的 AD 可能在使用 dn 字符串时阻止请求)。

提前感谢您的任何帮助。

编辑:使用只读管理员搜索 dn 信息更新:

看来我现在至少能够绑定到 ldap 服务器,但是我仍然收到无效凭据,并出现“找不到用户”错误:

我还在第三行末尾质疑这个“用户\“我的用户名\”未找到”错误,它是在广告中搜索用户名“我的用户名\”并添加反斜杠吗?这可能只是错误代码的格式,因为它在第二行和第三行的开头看起来是正确的。

编辑 2

我终于得到了连接工作,正确的配置如下:

在我之前的编辑中,我所要做的就是从 base_dn 中删除“CN=Users”,因为用户帐户实际上并不位于那里,删除它并只留下域组件就可以让我们的整个 AD 被搜索到用户。另一个重要的注意事项是 dn_string 必须配置为 'MYDOMAIN\{username}' 否则身份验证将无法通过(根据 Alvin Bunk 的响应)。正如 Alvin 在下面链接的文章中指出的那样,不幸的是,Symfony LDAP 文档中没有提到该部分。

0 投票
1 回答
449 浏览

symfony - symfony 3 选择验证问题

我有一个选择字段(下拉列表),我想针对数据库表进行验证。

本质上,如果该值在查询结果中,则它是有效的。

我不太清楚 Symfony 指南中报告的回调是如何工作的 :(

但是,我有一个validation.yml文件:

实体Group.php

此示例运行良好,但是当我尝试从组存储库中获取这些值时出现问题GroupRepository.php

在这个阶段我应该做什么?我使用的方法是否正确,还是应该直接在 中调用 Group Repository validation.yml?还是我完全走投无路?

0 投票
0 回答
426 浏览

symfony - 带有 Swift Mailer 和 Twig 环境的 Symfony 实体侦听器具有空实体

除了这个答案Eric Geloen 的博客文章之外,我还阅读了关于实体侦听器的Symfony 文档和关于实体侦听器学说文档,但我无法让我的听众做我想做的事。在此实体中,我有一个名为 status 的字段,当此字段更改时,将发送一封电子邮件通知接收者更改。

实体

我有一个shipmentLine带有以下注释的实体:

听众

ShipmentLineListener 实现了__constructprePersist功能:

服务.yml

最后我在 services.yml 中注册了我的监听器

监听器触发,邮件被发送。但是$shipmentLineand$event参数都是空的。有人可以看看我是否做错了什么?我很难从我所读的内容中看到任何错误。

感谢您的时间。

0 投票
2 回答
405 浏览

php - Symfony3 错误添加新包

我有一个我创建的包,并且正在另一个项目中工作。我复制了 src 文件夹中的 Bundle 文件夹,复制了一些安全参数,在 config.yml 中导入了服务资源,并将包添加到 AppKernel.php 中

新的 LoginBundle\LoginBundle()

当我做了一个$ php bin/console doctrine:schema:validate它返回这个错误


编辑

AppKernel.php 内容

这里是捆绑文件结构

束结构

这也是 LoginBundle.php

0 投票
2 回答
4378 浏览

symfony - Symfony 验证回调

我正在尝试通过静态回调验证我的实体。

我能够按照Symfony 指南使其工作,但我不清楚。

当我填充我的$fakeNames数组时它工作正常但是如果我想让它“动态”呢?假设我想从参数或数据库或任何地方选择该数组。从构造函数不起作用并且它必须是静态的那一刻起,我应该如何将东西(例如容器或 entityManager)传递给这个类?

当然,我的方法可能完全错误,但我只是使用 symfony 示例以及在互联网上发现的一些其他类似问题,我试图适应我的情况。

0 投票
1 回答
699 浏览

symfony - 具有组合主键和事件 setData 的 EntityTypechoice_value

我的自定义表单类型基于EntityType.
我的实体有一个复合主键,因此我将其设置choice_value为反映 options"value"属性中的两个键字段值,这可以按预期工作。

我订阅了 formTypePRE_SUBMIT事件,以便我可以解析该值并将其转换回实体实例,感谢 toDoctrine\ORM\EntityManager::getReference方法。

我的问题在提交时出现。我希望事件setData($my_retrieved_entity)方法(在事件侦听器内部)成功地将表单提交的值替换为相应的实体(满足表单验证管道),但我得到的似乎是默认的 symfony 错误消息:

«此值无效。»

然而,在转储一个完全有效的实体实例dump($networkType)之前执行$event->setData($networkType);,实际上是正确的,与提交的项目相关联。

感觉就像我几乎把事情做好了,但我不知道这里出了什么问题。关于如何正确地将提交的数据转换为实体,将其注入表单并满足验证器链的任何想法?

编辑

我完成了工作,但可能不是真正的 symfony 方式。它可能会帮助您了解我的需求。

我使用了一个共享变量:

  • 从内部事件侦听器填充PRE_SUBMIT,具有预期的 networkType 实例,使用$event->getData()解析的字符串重建。
  • POST_SUBMIT然后在事件中使用这个实例引用作为FormEvent::setData参数。

更改/添加的代码:

我希望有人能提出正确的方向来解决这个用例,以便更好地理解 Symfony Form 组件。
谢谢你。

0 投票
1 回答
57 浏览

symfony - how make services in symfony3

i have this controller

and in the services.yml , i got this:

the problem is that it doesnt work, symfony return an error FileLoaderLoadException, that the services.yml does not caontain valid YAML

0 投票
0 回答
522 浏览

symfony - Symfony 3.3:移动/重命名上传文件后的 FileNotFoundException

我有一个带有文件上传字段的表单(仅限于 PDF 格式)。提交表单并且存在有效的上传文件后,我重命名并移动文件。然后我尝试再次显示带有表单的页面——此时Symfony\Component\HttpFoundation\File\File类构造函数抛出一个FileNotFoundException,因为出于某种原因,它已被传递到不再存在的临时文件的路径。

相关事实:

  • 表单字段(包括文件上传字段)未映射到实体,因为我使用 Wordpress 样式的“元”表来存储与实体关联的附加数据;控制器处理创建要持久化的任何新对象。
  • 新文件名成功保存到数据库;我进一步验证了 $form->createView() 调用会发生错误。
  • 在有人提出这是由于我的 PHP 设置造成的之前,请注意我故意尝试上传大小低于限制的 PDF 文件。
  • 我的临时解决方案是重定向到另一个页面(这样做时没有错误),但从长远来看,提交表单后仍然显示表单页面更为理想。
  • 我尝试用方法返回的对象覆盖UploadedFile我从表单中获得的对象,但这没有帮助。File->move()
  • 我还尝试创建内置类的子类FileType并将其更改data_classSplFileInfo(Symfony 类的父类File)b/cSplFileInfo不会在无效路径上引发异常,但这也没有效果。

我对正在发生的事情的解释是,由于某种原因,当您创建表单视图时,SymfonyFile使用旧的临时文件路径为文件上传字段实例化一个新对象 - 从而导致绝对不应该发生的致命错误(因为你什么时候不会移动上传的文件?)。

任何我还没有想到的尝试的建议将不胜感激!


解决了

我通过查看堆栈跟踪找出了问题 - 我有一个 Twig 扩展正在调用Request::createFromGlobals(),这导致尝试使用不再存在的临时文件路径创建一个新的 UploadedFile 对象。让扩展Request在其构造函数中获取已经存在的对象应该可以防止这种情况发生。