问题标签 [symfony-3.2]

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 投票
3 回答
3067 浏览

ajax - Symfony 如何测试 AJAX 请求

在我的项目中,我有一个发送 AJAX 请求的表单:

这会激活以下控制器方法:

我希望能够单独测试这个请求,但我不确定如何编写请求对象。

到目前为止,我的第一次尝试:

失败,因为它似乎正在提交表单(我收到一个与 AJAX 请求完全无关的表单字段相关的错误为空白)。

谁能演示如何正确编写这样的测试?

0 投票
2 回答
129 浏览

php - 除了 PHPUnit,还有其他方法可以测试 Symfony 应用程序吗?

在一次采访中,项目经理问了我以下问题:

我在您的简历中看到您正在使用 PHPUnit 4 进行测试?为什么不使用 Symfony 的内置测试?

我回答了:

我所知道的是 Symfony 应用程序测试是通过 PHPUnit 完成的,这是从 2.3 和 2.7 的文档中推荐的。我不知道 Symfony3 是否带有测试组件!

我的回答正确吗?感谢您的解释。

0 投票
1 回答
1502 浏览

php - Symfony api-platform 不会附加到事件监听器

api-platform.com 的事件不会附加到我的听众。我从他们的事件矩阵中尝试了几种组合,但它仍然不会触发。

这是我的听众课

命名空间 AppBundle\Event\Listener;

api-平台事件参考

GET /projects/1我期待当我点击and时会出现“这应该触发” GET /projects,但它没有触发。想法?

0 投票
2 回答
42 浏览

symfony - 在 SonataClassificationBundle/CategoryAdmin 中覆盖 show.html.twig

我试图 show.html.twig在上下文中覆盖SonataClassificationBundle/CategoryAdmin

我试过把它放进去,/app/Resources/SonataClassificationBundle/views/CategoryAdmin/show.html.twig但它不起作用。

我正在使用 Symfony 3.2.7。

0 投票
1 回答
285 浏览

selectize.js - 在选择按钮中显示材质图标

我正在使用 symfony 3 开发一个应用程序。我有一个选择按钮(selectize),我想显示一些材料图标。
我做了什么 :

表格类型:

树枝:

结果 :

在此处输入图像描述

我必须做什么才能显示图标正确

0 投票
1 回答
519 浏览

php - Symfony 3/Doctrine - 在创建表模式时用一些行填充表

我想在第一次创建数据库表后立即填充它,可能需要运行以下命令:

基本上,这将是一个包含一些静态数据的静态表。我需要这样做,因为数据库将动态创建。所以不能通过硬编码来填充它。

0 投票
0 回答
821 浏览

php - Symfony3 更新用户数据并使当前会话无效

据我了解,当用户成功登录时,Symfony 将在数据库提供程序或数据库提供程序中保留User文档/实体的副本session.handler.native_file,以配置为准。在将来的请求中,会使用 cookie 中保存的会话 ID 检索此信息。

我的问题是每当用户更新其密码或用户名(这是他们的电子邮件)时,以前在不同计算机或浏览器上打开的会话不会过期或设置为无效。

应该对此EquatableInterface进行检查,但它并没有真正为我工作。当我将以下存根添加到User类中时:

随后在浏览器上刷新,没有任何改变。我的会话仍然有效,并且User使用 a 检查获取dump($this->getUser())给了我当前更新的内容User,而不是在会话开始时存储的内容。

我尝试使用:

如果它会做任何事情,但它真的没有用。

使用Symfony Profiler,我看到User每次我发出请求时都会从数据库中获取 a ,我想知道此时是否UserProviderInterface刚刚更新了用户,security.token_storage而不是在必要时首先检查对结束会话的更改。

为了确保发生这种情况,我在两个不同的浏览器上测试了这个控制器:

我在两个浏览器上登录了我的应用程序,然后在浏览器 A 上注销。我将User密码更改为'MY_NEW_PASSWORD'并刷新浏览器 B。转储true用于新密码。

如果是这种情况,我想知道: -在Usersecurity.token_storage(我猜这将是一个在 fetch 事件上运行的服务。)

或者也许我把事情复杂化了,有一个超级简单的解决方案,我只是还没想出来=|

0 投票
1 回答
695 浏览

php - 如何将 Bundle/Resources 文件夹移动到 Symfony 中的子文件夹?

我想将 Symfony3 Bundle 构建成子模块。

为此,我想将 Bundle/Resources 文件夹(带有视图、配置和公共)与控制器类一起移动到子文件夹中。

带有 DemoBundle 和 Messages 模块的示例。目录应该是这样的:

我可以通过在 routing.yml 文件中创建一个条目来移动控制器,如下所示:

控制器现在看起来像这样:

当我现在导航到这条路线时,我收到一个错误:“找不到模板”。该错误表明它仍在查看 /demo/Resources/views 而不是 /demo/messages/Resources/views。

问题:我可以告诉 symfony 查看文件夹 /demo/messages/Resources/views 吗?这有可能吗?还是我在 $this->render(...) 中的模板寻址错误?


到目前为止,为模板参考尝试了以下版本:

效果:错误:找不到模板

~~~

作品!


我为每个子模块选择这个结构而不是 Bundle 的原因是我想将用户界面封装在这个 Bundle 中,而我想在 AdminBundle 中组织管理界面。

0 投票
0 回答
70 浏览

firewall - 防火墙不起作用 Symfony3

我正在尝试配置防火墙,但是当我继续时我没有重定向到登录页面http://localhost/project1/web/app_dev.php/

我已经在另一个 symfony2 项目中使用过这种类似的配置,但我从来没有遇到过这个问题。

也许我忘了做某事......我做了一个缓存:清除但之后没有结果。

我的security.yml:

0 投票
1 回答
29 浏览

php - Symfony3. 访问受保护的点播用户内容

我正在寻找一些想法(-s)我如何在 Symfony3 中或通常在 symfony 中解决此类任务。

假设我允许用户在页面上创建一些内容(即帖子或文章)。问题是该内容的一部分可以根据用户的要求进行限制。因此,例如用户正在创建 Article1 和 Article2 并且他指定 Article2 将由他自己定义的一些密码/令牌保护。如果有人匿名尝试通过 url Article1 访问,他将能够看到内容,但是当有人使用 Article2 的 Url 时,会弹出某种公式,提示“输入密码以访问此特定区域”或类似的提示.

有没有办法以 symfony 3 的方式解决这个问题?

现在我会以这样的方式解决这个问题,在控制器中(即 showArticleAction)我将检查请求的文章是否受到保护。如果不是正常的方式将被使用(模板等的渲染),但如果该部分受到保护,我会将用户重定向到一些额外的“登录控制器”,他可以只为这个特定内容输入密码。如果密码匹配,他将被重定向到受保护的文章。

我不想使用 acl 或类似内容,因为每个内容都可以有自己的保护,并且使用 acl 我将被迫为每个受保护的文章动态创建组,因为有权访问第 2 条的用户无法访问另一个受保护的文章,因为它可以通过密码/令牌具有完全另一种保护,也可以由不同的用户创建

正如我所提到的,我强烈希望遵循“symfony3”规则,没有我或任何一方的任何技巧:)

我很高兴阅读您的想法和提示。

最好的问候,康拉德