问题标签 [symfony-2.7]
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 - 在 ManyToOne 反转实体中允许空值
我有这个实体:
如果我Company
从方法签名中删除类型提示,我会收到以下错误:
可捕获的致命错误:传递给 AppBundle\Entity\Brand::setCompany() 的参数 1 必须是 AppBundleEntity\Company 的实例,给定 null,在 /var/www/html/backend/vendor/symfony/symfony/src/Symfony 中调用/Component/PropertyAccess/PropertyAccessor.php 在第 410 行并定义
我将属性设置为,nullable
但我无法从数据中删除对象,为什么?如何解决这个问题?
twitter-bootstrap - FosUserBundle 的带有引导主题的表单
我正在开始一个新的 Symfony 项目,并且正在使用 FosUserBundle。我的登录和注册页面正常工作,但我的引导表单主题无法在登录页面上工作。注意:它确实适用于寄存器表单,因为表单的变量实际上命名为表单。
这是我的模板:
我正在使用子包覆盖原始 FosUserBundle 的模板。同样,这适用于注册表单,但不适用于登录表单。当我进入注册页面并查看源代码时,我发现:
如您所见,标签称为form.username,因此保存表单的变量称为form。我认为 {% form_theme form %} 起作用了,所以我查看了登录页面:
这对我来说很奇怪,所以我删除了表单主题并查看了登录页面:
所以,我想:表单叫做安全,所以让我们这样做:
但是,这没有用。我的问题:登录表单存储在什么变量中?我知道我可以覆盖表单,但是我认为表单存储在不同的变量中很奇怪,所以我的第二个问题是:为什么表单存储在不同的变量中?
php - 如何避免将 attr 应用于我选择字段的所有选项?
在 Symfony 2.7 之前,字段的attr
值choice
只应用于字段本身,<select>
即被渲染的元素。我用它来为这个元素应用类来设置它的样式。
在 Symfony 2.7 中,这种行为发生了改变。现在,元素的所有<option>
子<select>
元素也获得相同的属性(更改的提交)和类。
为了澄清,让这成为代码:
那么这是 Symfony <=2.6 的输出:
这是 Symfony >= 2.7 的输出:
我应用的类不适合<option>
元素,因为它们为实际字段定义了边框等。请注意,这些是由 jQuery UI 定义的类,因此我不能轻易更改它们的定义。
避免将这些类应用于字段的所有<option>
元素choice
同时仍将其应用于元素的最简单方法是什么<select>
?
symfony - 我是 symfony 的新手,我需要一些建议
我有一个关于 Symfony 应用程序的问题,我想输入我的控制器的“用户名”或“id”,并接收我的表“用户”和其他 2 个表中的信息,例如:一个用户有一个或更多级别,而且它有积分必须赚取积分才能解锁一个级别,我希望我的 dan 主页显示用户名和它的级别和程度,我是初学者,不了解我使用的书籍 symfony ,我使用 PARALLEL“symfony_book”和“symfony_cook_book”以及教程 youtube 我可以阻止,这是我的 cotroler 的代码“
我必须使用类之间的关系
和
我总是有一个错误
symfony-forms - Symfony2.7 字段验证两次,使用验证组和 UniqueEntity
字段被验证两次,导致 2 个 DB 调用和 2 个相同的错误消息。
我有订阅者类,主要用户、注册类和注册类型,它嵌入订阅者类型作为教程如何实现一个简单的注册表单建议。主用户名字段具有 UniqueEntity 的约束,并且任何时候输入非唯一用户名都会弹出两次“用户名已存在”错误消息,检查日志数据库调用以检查现有用户名被调用两次。我用谷歌搜索了这个并没有找到与我相同的案例,但发现了类似的案例。我不知道在这里做什么。
数据库是遗留的,所以我不能只切换到 FOSUserBundle,以及我不使用 @ 注释而是使用*.orm.yml和validation.yml的原因
自定义'service'
选项是集成 HWIOAuthBundle,还有其他故事。
注册.php:
Subscriber.php //实体:
和 Subscriber.orm.yml 如下:
最后是validation.yml
控制器:
请注意,用户名也是电子邮件字段,我没有发布模板,因为它也相当大,而且我相信它与验证无关,但如果有人想看到它,我很乐意发布它。
在配置中还有
config.yml->framework->validation->enable_annotations->true
php - 教义没有刷新实体并且返回错误的值,发生了什么?
我将这段代码作为 Restful API 方法的一部分:
这是每个dump()
语句的输出:
如果我在 DB 上运行此查询SELECT repTokenId, updatedAt FROM reps WHERE rep_id='005800000039cQbAAI'
,我会得到以下结果:
为什么实体返回错误的值?为什么正确的$xsession
值没有更新?为什么$entRep->getRepTokenId()
给我一个在会话变量或任何其他地方不存在的未知值?这里发生了什么?
php - 覆盖捆绑包与覆盖文件
我想问一下从供应商处覆盖捆绑包和简单地覆盖其控制器或模板之间有什么区别。
对我来说似乎是一样的,无论是我覆盖捆绑包然后制作自己的文件,还是覆盖控制器并用我自己的功能实现它们。
php - 从现有路由重定向到新路由
如果用户未登录(与 FOSUser 和 SonataAdmin 一起使用)并调用http://domain.com/app_dev.php
(dev)或http://domain.com
(prod),我正在尝试重定向,那么我希望在这两种情况下都重定向到,/login
所以我在以下位置编写了这个配置app/routing.yml
:
那行得通,但我有一个问题,因为我在控制器中有这个:
然后,当我尝试brand
使用以下链接按照示例调用路由时:http://domain.com/app_dev.php/?email=7x-xRFClkjw
(dev) 或http://domain.com/?email=7x-xRFClkjw
(prod) 我被重定向到/login
. 我最好的想法是将我的代码更改为:
然后使用路由重定向到新的/bp
而不是/
该功能(这主要是因为用户已经有大量的电子邮件具有以前共享的链接,我无法更改)。但我不知道如何写这个规则,routing.yml
因为如果我写了这个:
我将结束一个重定向循环。我还可以更改默认路由/login
的设置方式,我只是找不到正确的文档。这篇文章背后的大想法是为/
. 任何人都可以给我一些帮助吗?
作为额外信息,这是我security.yml
文件的一部分:
更新
实际上来自@emmanuel-hdz-díaz 的代码给了我另一个想法,我不需要创建内核侦听器或添加太多代码,只需在我的控制器上执行此操作即可:
我能够将用户重定向到/login
路线。
symfony - Symfony2:来自数据库的角色、用户和授权
我开始使用 Symfony2,我真的很喜欢它!
我有一些问题肯定你会很容易地帮助我!
当我们使用安全层时,文件security.yml我们设置属性access_control,通常是这样的:
- {路径:^/管理员角色:ROLE_ADMIN}
传统上使用php,我的系统访问规则我使用3个表:
- 用户 - 用户表
- 角色 - 角色表
- 资源 - 资源表
- 权限 - 授予表
其中,User 有一个角色,一个权限对应一个角色和一个资源。要检查用户是否有权访问资源,请检查表权限。
引入 Symfony2,属性“路径”将是一个资源,而 ROLE_ADMIN 将是用户的角色。
如何做到这一点 security.yml,从数据库中加载设置。我搜索了官方文档,一无所获。
目前,谢谢
php - Symfony2:“security.providers.in_memory.memory”下无法识别的选项“admin”
当我尝试时遇到这个问题
php 应用程序/控制台服务器:运行
它告诉我这个错误:
“security.providers.in_memory.memory”下无法识别的选项“admin”
这是我的security.yml