问题标签 [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 投票
1 回答
150 浏览

php - 在 PROD 模式下会引发错误,但在 DEV 模式下不会:“注意:未定义索引”在 $form->getConfig()->getAttributes()

在 Ubuntu 服务器上的环境中运行我的 symfony3 项目,prod我收到以下错误:

"注意:未定义索引:data_collector/passed_options",

dev如果我使用环境,则不会发生此错误。

我的自定义中引发了错误FormType

app_dev.php我在生产 Ubuntu 服务器上编辑了我的文件(就像这里解释的那样),以便我可以使用这个命令在生产中进行测试:

php bin/console server:start [我的服务器的IP]:[自定义端口]

但是错误仍然没有在dev环境中抛出。所以这不是我的开发机器的问题。

难道是环境$form->getConfig()->getAttributes()中没有索引prod

有什么方法可以调试在prod环境中发生但不在环境中发生的此类错误dev

0 投票
1 回答
1259 浏览

php - 通过控制器 Symfony 3 访问实体

对于一个学校项目,我需要开发一个纸牌游戏。

我正在处理信用卡存款。我所有的卡都存储在数据库中,当我存入卡时,我只需发送一个带有卡 ID 的隐藏表单。

问题是:如何通过我的控制器访问已玩牌的属性?我已经测试了所有东西,实际上我可以得到它们,但我必须公开设置我所有实体的属性,我认为这真的很糟糕。

我真的不知道该怎么做,也许一些帮助或提示可以帮助我。

这是我的控制器的功能:

这是我的 Card 实体:

我知道这当然很容易做到,但我真的找不到:(

谢谢您的帮助。

0 投票
1 回答
19105 浏览

php - Symfony 请求获取所有 url 参数

我有一个Symfony\Component\HttpFoundation\Request对象,我想从中获取所有提供的 url 参数。换句话说,当用户访问http://example.org/soempage?param1=value1&param2=value2&param3=value3

我想生成一个具有这些值的数组['param1','param2','param3']

我也看过这个:How to get all post parameters in Symfony2?

我在上面尝试了以下内容:

没有所需的结果,而是收到此错误消息:

试图调用类“Symfony\Component\HttpFoundation\Request\ 的名为“all”的未定义方法

编辑 1

我使用 int 的请求变成了一个验证我的输入的静态方法。该方法通过控制器调用,并且为了可重用性的目的而实现。

0 投票
1 回答
625 浏览

php - Symfony:事件订阅者阻止调用控制器

我制作了以下事件订阅者:

我已将以下内容放入services.yml文件中:

我想要做的是防止控制器被调用并直接打印输出。在不久的将来,将实施一种控制机制,我希望能够根据具体情况防止控制器被调用。

你知道怎么做吗?上面的代码似乎不起作用。正如我在http://symfony.com/doc/current/components/http_kernel.html#component-http-kernel-kernel-request中看到的那样,我能够做到这一点。

0 投票
2 回答
618 浏览

symfony - FOS/user-bundle ProxyManager\配置错误

安装 friendsofsymfony/user-bundle 后出现此错误

使用 Symfony3.2 和 PHP 7.1

也许有想法为什么?

编辑

我用了这个 tu

并为用户实体选择“Doctrine ORM User class”

0 投票
0 回答
360 浏览

phpunit - Symfony 3 表单单元测试 createMock 未定义

我正在使用 symfony 3 和 PhpUnit 5.6.4。我正在使用 http://symfony.com/doc/master/form/unit_testing.html测试我的表单

我的代码在这里,但是当我运行 phpunit 时,我得到:

测试测试套件 PHP 致命错误:调用未定义的方法 Tests\AnnBundle\Form\Type\AnnTypeTest::createMock() in /media/mpf/mmf/tests/AnnBundle/Form/Type/AnnTypeTest.php 在第 26 行 PHP 堆栈跟踪: PHP 1. {main}() /media/mpf/mmf/vendor/symfony/phpunit-bridge/bin/.phpunit/phpunit-4.8/phpunit:0

谢谢。

0 投票
1 回答
411 浏览

apache - 在 Vhost Ubuntu 子域文件夹上安装/配置 Symfony3.2 --> 错误 403 禁止和错误 500

我尝试在我的虚拟主机上安装 Symfony3.2,在 ubuntu 下运行 Plesk。我的目标是创建一个生产服务器状态来在线测试我的 Symfony 项目。我想使用 URLsubexample.example.tldsubexample.example.tld/matchGen.

在我穿越泪水和永恒自我怀疑的过程中,我看到了很多不同的错误,甚至成功地打破了整个虚拟主机,包括我的电子邮件系统……干得好。

好吧..现在我收到了错误 403 Forbidden。好消息(至少对我而言):我看到了 symfony 的 favicon,如果我尝试打开 app_dev.php( subexample.example.tld/matchGen/web/app_dev.php),它会显示You are not allowed to access this file. Check app_dev.php for more information.. 打开 app.phpsubexample.example.tld/matchGen/web/app.php会导致重定向到subexample.example.tld/matchGen/web/The server returned a "500 Internal Server Error".subexample.example.tld也遇到了禁区。

我已经尝试/做了以下事情:

现在对于error.logs:

/var/www/vhosts/system/subexample.example.tld/logs/error_logs

/var/log/apache2/matchGen_error.log并且/var/log/apache2/matchGen_access.log是空的。

我的配置文件:

/etc/apache2/sites-available/subexample.example.tld.conf

/var/www/vhosts/system/subexample.example.tld/conf/httpd.conf

好吧,我认为这应该让您了解我的问题。先感谢您!啊……请给傻瓜解释一下……我知道一些事情……但显然还不够。

编辑1:

我再次尝试更改权限...这次我创建了一个新组,将我的 matchGen 文件夹放入其中并尝试允许该组中的所有内容。

没变。

哦..我将用户 www-data 添加到了 Symfony 组。

编辑2:

我尝试使用http://symfony.com/doc/current/setup/web_server_configuration.html#web-server-apache-fpm,但没有任何改变。重置后,我尝试subexample.example.tld/matchGen/web/再次打开。好吧,它没有用,但是这次错误似乎有所不同HTTP ERROR 500。所以...在再次查看外观后-->mod_fcgid: stderr: PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/vhosts/example.tld/subexample.example.tld/matchGen/var/logs/prod.log" could not be opened: failed to open stream: Permission denied' in /var/www/vhosts/example.tld/subexample.example.tld/matchGen/var/cache/prod/classes.php:8203

这绝对是权利的问题。但为什么它不起作用?...我尝试使用本指南使用 acl 设置 www-data-user -->http://symfony.com/doc/current/setup/file_permissions.html#using-acl-on-a-system-that-supports-setfacl-linux-bsd

我没有在 setfacl-command 末尾使用 var 或 /var,而是使用 matchGen 作为文件夹。

没变。

编辑3:

我做的!在我达到编辑 2 之后的点后,这对我有所帮助。 “无法打开流:权限被拒绝”错误 - Laravel

  1. 进入您的项目文件夹并使用php bin/console cache:clear --env=prod
  2. 跟进chmod -R 777 var
  3. 完成composer dump-autoload

最后...

0 投票
2 回答
58 浏览

php - 找不到“GET /sf/customer-first-progam-level”的路线

如标题所示,如果我尝试访问以下 URL,则会遇到该问题:

这就是我所拥有的:

  • 应用程序/路由.yml

    /li>
  • QuoteBundle/Controller/CustomerFirstProgramLevelController.php

    /li>

这是我没有成功的尝试:

  • 清除 prod 和 dev 的缓存
  • 将路线名称更改为其他名称

如果我调试router我得到以下信息:

我正在使用 Symfony 3.2.7。有任何想法吗?我不在他们身边

0 投票
1 回答
695 浏览

php - symfony 3 ChoiceType is not Valid

我有一个非常简单的脚本。它从表中读取 ID 和 NAME,并将它们作为选项添加到我的选择类型。

已解决 请参阅最后一个脚本。您必须再次在表单中添加所有选项。

这就是行动。

表格类型:

到目前为止,一切都很好。在我的页面上获得 ChoiceType 框,我可以选择我想要的条目并提交它。如果我想检查数据是否有效,它会失败。

这是我的实体

这是我目前获取数据的方式。

有没有人有任何想法,为什么下面的脚本不起作用?这是我可以在项目中的所有其他页面上进行操作的方式。

友好的问候,

法比安·哈姆森

0 投票
1 回答
409 浏览

orm - Symfony 3.2。实体类型不起作用

我不知道为什么这不起作用:

那是错误信息:

可捕获的致命错误:传递给
Symfony\Bridge\Doctrine\Form\Type\DoctrineType::__construct()的参数 1
必须实现接口 Doctrine\Common\Persistence\ManagerRegistry,
没有给出,在 (...)\src\Symfony\ 中调用第 85 行的Component\Form\FormRegistry.php
并定义 (...)