问题标签 [symfony-2.8]
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.8 使用 TBBC Money/Currency Bundle
我正在尝试在我的应用程序中实现 TBBC Money/Currency Bundle,但它不起作用。我认为问题来自我的控制器和树枝文件。我对这个捆绑包的文档有点迷茫。
任何帮助,将不胜感激!
这是我的 config.yml
post.php
PostType.php
新的.html.twig
(我确定这部分代码是错误的,我必须用其他东西替换它??)
后控制器.php
(我不知道我应该在控制器中放什么。)
编辑:
我确实在我的控制器中有这个:
然后我得到了这个错误:
在 src\FLY\BookingsBundle\Resources\views\Post\show.html.twig 中的模板(“可捕获的致命错误:Money\Money 类的对象无法转换为字符串”)的呈现过程中引发异常第 30 行。
这是我在 show.html.twig 中的第 30 行
symfony - 表单实体类型复选框不会删除未选中的项目
我正在使用两个具有 ManyToMany 关系的实体,Jobsite 具有 workers 属性,反之亦然。我有一个表单 JobsiteType ,它建议选择或不选择工作人员列表,它适用于多个选择:选择或取消选择在数据库中很好地传播,但在使用复选框时它不起作用:取消选择项目不会从中删除关系表。我正在使用 Symfony v 2.8,这里有一些细节:
// 实体工地
// 实体工作者
// 工作地点类型
那么有人知道复选框样式(多个+扩展)有什么问题吗?我知道未经检查的输入什么也不发送,这是否意味着我必须在表单事件中手动循环通过工作人员以应用正确的更改?好吧,我还注意到,当没有选择任何项目时,它不适用于多个选择框,它可能与相同的“如果为空则不发送”效果有关。
symfony-2.8 - easyadmin 列表中的外键值不可访问(Symfony 2.8)
我在我的 Symfony 应用程序中使用了 easyadmin 包。我有用户和角色实体。我使用角色 ID 作为用户的外键。我正在使用简易管理员在管理部分显示用户列表。
但是对于角色,它向我显示“无法访问”作为列表中的一个值。
如果有人知道如何显示实际价值而不是“无法访问”,那么请帮助我。
谢谢你。
php - Symfony2 表单:意外的“无 POST 参数”
我试图通过 Symfony 的 Form 组件来持久化一个对象。它不工作。
提交表单时,Symfony 将我重定向到实际表单,之前提交的数据使用 GET 方法出现在 url 中。在 Profiler 中,我可以观察到“没有 POST 参数”。
控制器:
类型:
风景:
请注意,我暂时不使用验证。
我使用的实体没问题,对应的表已经通过 Symfony 控制台在我的 PostgreSQL 数据库中创建,parameters.yml 的配置也可以。如果需要,我可以发布这些元素。
那么可能出现什么问题呢?这是我的 Wamp 安装或配置中的问题吗,例如 Apache 问题?事实是我不知道问题出在哪里。
请注意,我完全是网络开发的初学者。我实际上尝试学习 PHP 以及 Symfony2。
编辑以下评论
1) 生成的 HTML 显示 Twig 渲染生成的表单将表单的方法设置为 "POST" :
<form name="quest" method="post">
2)在with@Method({"GET", "POST"})
下添加并没有改变任何东西。@Route
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
3.1)关于我的环境的信息:
- Wampserver 2.5 (32 位 & PHP 5.5.12, Apache 2.4.9 )
- PostgreSQL 9.3.2
- Symfony 2.8.1,使用标准版 + FOSUserBundle ~2.0@dev
- 使用 Doctrine2
- 在
/admin
开发环境app_dev.php
(
3.2)在我相同的环境中,我复制了 3 个不同的在线教程(来自 Symfony 书籍、来自 openclassrooms.com 和来自 dynamic-mess.com)中显示的各种形式,并且都以相同的方式结束。
4)以防万一,我只是去重新启动项目,通过重新安装 Symfony,具有相同的版本和相同的配置,具有相同的 Wampserver 和 PostgreSQL。我只是留意防止错过一些步骤。它仍然不起作用。
5)在我的环境中测试基本 HTML 表单: 使用没有类的表单(没有实体)
控制器:
风景 :
对于这个测试,我使用了 Twig 全局模板变量{{ app.request }}
。
在点击提交按钮之前,页面会显示以下信息:
之后,生成的页面会丢弃这些信息:
6)我在我的实体上尝试了 Symfony 的 CRUD 控制器和模板生成器,它工作正常!我的数据是通过 POST 发送的,并已在数据库中注册。
但这对我来说仍然是一个巨大的谜团,因为在 Controller 和 Symfony 的 Form 中生成的方法与我之前手动尝试的方法相同......
CRUD 生成器使用@Method({"GET", "POST"})
,这是我在最初的代码中观察到的唯一区别。但这很奇怪,因为我@Method
之前也自己尝试过注释,但并没有改变任何东西(见我的第二次编辑)......
尽管如此,我还是 PHP 和 Symfony 的初学者,一个全新的新手,所以肯定有一些明显的东西我错过了......但是什么?此刻我没有任何想法。欢迎解释,如果有人有线索?我必须弄清楚那个谜的关键。
7) 这是 Symfony2.8 在app/logs/dev.log
文件中默认提供的日志,从我最初显示表单到重定向请求:
至于 Profiler(默认配置),仅此而已:
php - Symfony2 FOSUserBundle 默认“注册”路由是“/”
我在 Symfony 2.8 上设置了 FOSUserBundle 1.3。当我转到 /register 时,我收到“找不到路线”错误。我做了一些挖掘,app/console debug:router
命令显示fos_user_registration_register
路线设置为'/'。这似乎不对。我错过了什么吗?如何访问默认注册表单?
php - Symfony2、Assetic、Compass 和 SASS
我一直在寻找关于如何在 symfony(特别是 2.8)中连接 SASS 的最新教程。看起来没有比 2011 年更新的教程。这是因为某些原因我不应该将 SASS 与 Symfony 一起使用吗?如果有一种方法可以轻松设置,有人可以指出我正确的方向。我的机器上安装了 Compass 和 SASS(以及 Symfony 的资产包)。
forms - symfony 2.8 中的 fosuserbundle 自定义表单配置
当我配置 FOS USer Bundle 时,我可以在配置中使用别名设置自定义表单,例如:
bun 别名表单配置在 symfony 2.8 中已弃用,所以我想知道如何在 symfony 2.8 yaml 配置中通过名称来引用 fomr。
php - 如何使用 FOSUserBundle 创建“两个”(聊天和管理)或更安全的区域
我正在使用 Symfony 2.8.x 应用程序,我需要设置两个安全区域:chat
和admin
. 这意味着chat
并且admin
将使用相同的登录模板(如果可能并且我不需要为此设置不同的登录模板)。我在这里问之前用谷歌搜索过,有一些相关的东西出现了,我读了很多关于这个话题的帖子:1 , 2 , 3 , 4只是作为其中的一个例子,但我做错了,因为我不能让它正常工作。这是/app/config/security.yml
看起来的样子(只是防火墙和 access_control 一段代码):
现在这是我的捆绑包的配置app/config/routing.yml
:
因为FOSUserBundle
我已经尝试了这两个(都没有成功,而且一次都没有):
我已经覆盖了登录模板app/Resources/FOSUserBundle/views/Security/login.html.twig
。(如果需要来源,我可以只提供 ommit 以使帖子不再比现在长)。
当我调用 URL:http://domain.tld/app_dev.php/admin
并尝试登录时,出现此错误:
找不到翻译。上下文:{“id”:“Symfony\Component\Security\Core\Exception\BadCredentialsException:凭据错误。在 /var/www/html/platform-cm/vendor/symfony/symfony/src/Symfony/Component/Security/Core /Authentication/Provider/UserAuthenticationProvider.php:90\n堆栈跟踪:\n#0
(如果需要,我可以提供完整的堆栈跟踪)
这对我来说很奇怪,但可能是由于我仔细检查了凭据而导致配置错误。
当我调用 URL:http://domain.tld/app_dev.php/chat
并尝试登录时,我得到了Access Denied
但这是正确的,因为我被重定向到http://domain.tld/app_dev.php/admin/
. 任何人都可以给我一些关于这个配置的帮助吗?我被卡住了,因此无法前进
第二种方法
这是基于@heah 建议使用侦听器的第二种方法,但也不起作用我仍然收到相同的“错误凭据”消息并且根本无法登录。我改回了routing.yml
这个:
我改回了security.yml
这个:
安全性:...防火墙:管理员:模式:^/匿名:〜form_login:提供者:fos_userbundle csrf_provider:security.csrf.token_manager login_path:fos_user_security_login check_path:fos_user_security_check
security.interactive_login
然后我按照以下建议为事件定义了一个侦听器app/config/config.yml
:
然后在app/config/services.yml
:
最后是类定义src/PlatformAdminBundle/Listener/SecurityListener.php
:
我再次遇到同样的问题,也许我做错了什么,我没有看到,但我接受任何想法。这里有什么问题?
第三种方法
我已经对我的代码进行了审查,并根据@heah 的建议对其进行了轻微更改。所以,现在security.yml
如下:
尽管我根本没有使用它,但在 Symfony 2.6+ 中的更改services.yml
基本上是修复了参数:security.context
最后是课堂上的变化PlatformAdminBundle/Listener/SecurityListener.php
:
当我以用户身份登录时ROLE_CHATTER
似乎一切正常,因为我得到了 AccessDenied 异常,但是当我尝试以用户身份登录时ROLE_ADMIN
它停止工作,我回到最初的错误:Bad credentials
,这是为什么?我快疯了!!
mysql - symfony2 donctrine 2.5 日期类型错误
我也是 Symfony 和学说的新手,但我正在根据文档做事。
我得到的错误是:Error: Call to a member function format() on string
它给出的代码在
问题是它试图格式化 Date 类型字段的值。这是我用学说生成的实体代码:
如果我删除 Date 字段的默认值,那么它不会抛出这个异常,但问题是该字段不能在数据库(MySQL)中包含空值,所以如果删除默认值并将其留空,它会继续尝试将 null 插入其中,我从 MySQL 收到错误。
我没有构造函数,我使用学说插入新的 thisL
如何解决这个问题?