问题标签 [symfony-2.6]
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 2.6 覆盖 PHPUnit_Framework_Error
我有一个已从 symfony 2.3 更新到 2.6 的单元测试应用程序。我们遵循了所有升级文档,只需要更改一些小东西。除了 PHPUnit 测试之外,一切都运行良好。
我们有 2 次单独的运行,一次仅用于测试实体类,它在预提交挂钩上触发。第二个运行全套套件,带有数据库设置和整个九码。
现在自从升级到 2.6 后,PHPUnit_Framework_Error
在单元测试中所抛出的已经被 Symfony 所取代Symfony\Component\Debug\Exception\ContextErrorException
,这使得所有测试都失败了,如下所示:
现在我不想将其更改为新的异常,因为运行仅实体测试套件不依赖于 symfony 组件,因此未加载 symfony,因此错误是常规错误,PHPUnit_Framework_Error
因此更改它会使这些测试失败。
换句话说,当我运行一个测试类时它可以工作,一旦运行依赖于 symfony 的测试,它就会失败:
这个新的 ErrorHandler 似乎没有记录,除了拉取请求和这篇小文章外,我在谷歌中找不到太多关于它的信息
我试过了:
- 设置
SYMFONY_DEBUG=0
环境变量,但这似乎没有任何区别。 - 将
debug.error_handler.throw_at: 0
参数添加到我的 test_config.yml
编辑:
应@cerad 的要求,我尝试隔离测试以尝试尽可能少地重现代码,我设法通过 4 个测试重现:
如您所见,我只运行了两次完全相同的测试,但最后一次仍然导致错误:
MyControllerTest::testCreateOrder_2 断言“Symfony\Component\Debug\Exception\ContextErrorException”类型的异常与预期异常“\PHPUnit_Framework_Error”匹配失败
symfony - 树枝转储没有打印任何东西
我现在有点困惑。我总是像使用任何其他 twig 函数一样使用 twig dump 函数,但现在它绝对没有输出。没有错误/异常,什么都没有。其他一切正常,例如反式过滤器。
现在这个模板不包含任何其他内容。转储在父模板或 base.html.twig 中也不起作用。
同样,转储不打印任何内容:不是空字符串,不是 null,也不是屏幕上的单个像素。
有什么想法可能导致这种情况吗?
Symfony 版本:2.6.x-dev
更新
这是被删除还是什么?为什么没有错误?顺便说一句...调试标志已设置。
security - 安全配置:access_denied_url 不起作用
我的申请分为三个部分:
- 管理:
^/backend
受IP保护 - 安全区域:
^/member
受登录保护 - 公共路线:
^/
一切正常,除了access_denied_url
. 我尝试指定一个路由名称以及一个普通路径。
当我/backend
从配置的 IP 以外的 IP 访问时,我收到以下消息:
访问此资源需要完全身份验证。 500 内部服务器错误 - InsufficientAuthenticationException 1 链接异常:AccessDeniedException »
在开发环境中,这个异常根本没有被捕获,导致致命错误,但该access_denied_url
选项不应该以某种方式重定向到给定的 url 吗?
这是我的security.yml:
提前感谢您的帮助!
php - SF2.6 OptionsResolverInterface 已弃用和 AbstractType:setDefaultOptions
由于“Symfony\Component\OptionsResolver\OptionsResolverInterface”在 SF2.6 中已被弃用,我尝试更新我的 FormTypes:
问题是AbstractType仍然需要“setDefaultOptions(OptionsResolverInterface $resolver)”而不是“OptionsResolver”
声明必须与 FormTypeInterface->setDefaultOptions(resolver : \Symfony\Component\OptionsResolver\OptionsResolverInterface) 兼容
我这里有什么遗漏吗?
谢谢 ;)
编辑
更改了我的控制器调用
至
并将其添加到 FormType:
做到了,现在没有添加表单选项/更改默认值。谢谢
symfony - 我可以在 TWIG 基本模板中包含 PHP 模板,反之亦然吗?
我目前正在重构和重组现有的 Symfony 2 应用程序。
有一些基本模板,所有其他模板都继承自它们。现在,所有的模板都是 PHP 的。我计划将应用程序迁移到 TWIG。
问题是该应用程序已经在使用中,并且在迁移时,我还希望为该应用程序添加新功能。这意味着我不能冻结应用程序的当前状态,完全迁移到 TWIG,然后继续使用它。
这意味着只能通过小步骤迁移到 TWIG,即在必须部署新版本之前,我只能迁移少数模板。我要添加的功能也会有一些新模板,我也希望以 TWIG 格式添加这些模板。
我现在的计划是先将基本模板迁移到 TWIG,然后将现有的 PHP 模板包含在这些新的基本模板中。之后,我会继续小批量迁移其他模板。
在线查看文档,可以同时启用 PHP 和 TWIG 模板引擎。但是,我找不到任何教程、示例或文档提到您不仅可以同时拥有这两个引擎,而且还可以拥有来自一个引擎的模板,包括来自另一个引擎的模板。
正如我所描述的,有没有办法混合来自这两个引擎的模板?
symfony - FOSUserBundle access control for admin section allows anonymous users
I'm trying to make the admin section only accessible for admin users using FOSUserBundle.
However if I go to the admin url (www.foo.local/app_dev.php/admin
) without authentication, it allows me access.
In the Symfony debug toolbar it shows Logged in as anon.
I have configured the FOSUserBundle following the official documentation
Here is the security.yml config:
I don't know why it doesn't ask for the ROLE_ADMIN
in order to allow access to the admin section, any ideas?
php - Symfony 2 多个表单在同一页面提交
我尝试在同一页面上进行简单的登录注册。
- 一种登记表
- 一种登录表格。
我设法在我想要的页面上呈现 2 个表单,但是如果我尝试提交注册表单,它会给我一个消息,即另一个表单不能为空。
在我尝试合并页面之前,我的注册没有任何问题,我的登录没有(刚刚创建表单)我的代码:
AccountController.php
呈现给模板的文件。
表单创建已在 inRegistrationType.php
和 in 中实现LoginType.php
register.html.twig:
我的视图页面:
我如何在没有 form2 的情况下提交我的注册表单(form1)给我一条消息以填写其字段。
xsd - 如何在 Propel 模式的列中应用一些验证?
我正在使用 Propel 模式来创建数据库表。在表中,我需要创建一个“名称”列,该列应包含“短字符串”、“全部小写”和“无空格”,例如:“加入”、“约会”。
如何使用给定的约束在 schema.xml 中定义此列?还是我必须创建一个自定义验证器才能完成它?
symfony - 即使权限设置正确,Symfony 2.6 现在也无法清除清除缓存
我最近更新了我的应用程序以使用 symfony 2.6,现在我在清除 dev 和 prod 缓存时遇到错误:
或者
但是,当pro_
或de_
文件夹不存在时,命令运行得很好。我使用 ACL 权限设置文件夹:
如果有区别的话,我也使用 symfony 3.0 结构。
更新:
我已尝试使用该umask(0000);
选项,但命令仍然失败。同样的错误。
对于导致这些命令失败的原因的任何帮助或建议将不胜感激。
php - symfony 2 表单的默认选项被覆盖而不是合并
我有一个自定义表单类型,它定义了一些默认attr
选项:
但是,当我使用此自定义表单类型时,整个attr
数组将替换为定义的内容。
呈现表单时,它只有<input data-label="Logo" ...>
我如何获得它以便这些选项将被合并而不是完全覆盖?