问题标签 [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 3 + FosUserBundle 防火墙页面不显示登录表单
我正在使用 Symfony3 创建一个站点,并且预计需要对某些页面进行防火墙处理。对于用户管理,我使用 FosUserBundle ~2.0@dev。
登录和退出工作(所以在我看来 FosUserBundle 配置正确)。
如果页面有防火墙,我希望显示登录表单。
但是,这些 URL 不尊重防火墙并为匿名用户显示其内容......
- 本地主机:8000/en/admin
- 本地主机:8000/en/admin/delete-tev
- 本地主机:8000/en/admin/import-tev
- localhost:8000/en/admin/点击列表
这是我的 security.yml 配置:
这是我的路由:
感谢您的时间。
php - 修复 symfony2.8 弃用会影响我的数据库
我需要修复一个弃用;
“choice”表单类型(Symfony\Component\Form\Extension\Core\Type\ChoiceType)的“choices_as_values”选项的值“false”自 2.8 版起已弃用,3.0 版将不再支持。将此选项设置为“true”并翻转“choices”选项的内容。
我完全理解如何解决这个弃用问题,但是通过翻转我选择的内容会导致与我的数据库发生冲突。
例如;
我有一个带有传输字段的汽车表。在那个字段中,总会有一个a
或一个m
在我的项目中,我有一个返回数组的函数;
所以在我的表单中它会显示Automatic
,但在我的数据库中它存储为a
. 因此,如果我要翻转所有内容,如弃用消息告诉我这样做,我的数据库中就会出现冲突。我应该如何解决这个问题?有人能帮帮我吗?
我对 Symfony 等还是比较陌生,所以我希望你能理解我试图解释的内容。谢谢
phpunit - Vagrant:找不到phpUnit(symfony 2.8)
我是 phpUnit 的新手。我通过作曲家安装了它。我的 composer.json 如下:
在此期间composer update
,我收到
了 - 安装 phpunit/phpunit (5.2.9)
我在我的供应商中看到了 phpunit 目录。
现在,在简单地尝试输出 phpunit 版本(或尝试开始测试时)时,我收到以下错误消息:
me@myMachine:root/path/of/symfony$ phpunit -v
The program 'phpunit' is currently not installed. To run 'phpunit' please ask your administrator to install the package 'phpunit'
有什么快捷方式可以在 bash 中创建吗?
更新
就像 2 个当前答案所建议的那样,我尝试运行me@myMachine:root/path/of/symfony$ ./vendor/bin/phpunit -v
permission denied
但尽管当前用户 (me@myMachine) 是文件所有者,但它仍返回异常。
此外,me@myMachine:root/path/of/symfony$ ls -l ./vendor/bin
回报
如果尝试chmod -vR u+x ./vendor/bin
它按预期返回
mode of ‘bin/’ changed from 0777 (rwxrwxrwx) to 0766 (rwxrw-rw-)
mode of ‘bin/phpunit’ changed from 0666 (rw-rw-rw-) to 0766 (rwxrw-rw-)
但又me@myMachine:root/path/of/symfony$ ls -l ./vendor/bin
回来了
就像没有考虑到 chmod 一样。
更新 2
显然,这个问题与 Vagrant 有关。
我在 2.8 和 3.0 版本中完全重新安装了 symfony,问题仍然存在。
我发现了这个类似的问题,因此选择全局安装 phpUnit composer global require phpunit/phpunit
,然后phpunit -v
再次运行。这次,找到了命令,但出现以下错误
php - Symfony 双向认证
我正在开发一个在远程服务器上进行身份验证的 symfony 2.8 应用程序。身份验证通过表单或 api 密钥 (simple_preauth) 传递。成功验证后,会话密钥会保存在 cookie 中,以便我的 simple_preauth 验证器(无状态设置为 true)在每个请求上检查它。simple_preauth 身份验证器允许做两件事:通过在 get 参数中传递的秘密 api 密钥对用户进行身份验证,并检查当前会话是否在远程服务器上过期。只有经过身份验证的用户才能做任何事情。所以有我的 security.yml 文件:
问题:
- security.yml 文件中的设置“stateless: true”会在登录后禁用 target_path 重定向(github 上的 Exception Listener)。事实上,只有 simple_preauth 需要“stateless: true”,而 simple_form 不需要。也许有一种正确的方法可以将防火墙分成两个防火墙,仍然保持通过表单和 api 密钥进行身份验证的能力?
- 也许有一种更正确的方法来组织访问控制,以便只有经过身份验证的用户才能访问页面?
php - 在 Symfony 中,如何从浏览器的 uri 中删除查询字符串
在我的多语言 Symfony (2.8) 应用程序中,我有许多使用 ajax 注入到主页中的视图。基于这篇文章,我实现了一个语言环境监听器,所以语言环境是粘性的。
我发现在主页面打开时退出并重新启动浏览器(Safari) - 而当前语言环境不是默认设置 - 下一个当前语言环境request
会丢失,因为现在没有以前的会话。当返回来自 ajax 链接的视图时,语言环境设置为默认值,从而产生混合语言的页面。
作为一种解决方法,我将当前语言环境作为所有 ajax 链接的查询包括在内,并且我劫持了语言环境侦听器request
,即使在上述情况下,它现在也可以在查询中设置语言环境。
它似乎完成了这项工作。但是,缺点是我现在留下了包含查询字符串的丑陋网址,例如www.domain.co.uk/es/moreinfo?_locale=es
.
我一直在尝试实现另一个侦听器,以从 uri 中删除查询。侦听器检测到查询并可以将其从request->query
参数和$_SERVER
全局变量中删除,但是当视图返回浏览器时,我没有尝试使其更改。
我也尝试过使用新路由,这些路由解析并转发或重定向到不同的路由/路径,但浏览器中的 url 仍然保持不变。
有什么想法或建议吗?
我是否从错误的角度来解决这个问题 - 即我应该尝试在客户端而不是服务器端进行操作吗?
php - 实体中的多个参数错误,symfony2
我给出了以下错误:
我在 Notification.php 类中的方法是:
当我使用 setReciever 之类的 setter 和 getter 时,它工作得很好,但是当我尝试调用多个参数时,我得到了这个错误,我犯了一个错误,或者实体类中不能有多个参数方法?
php - symfony 中的复合形式错误
嗨,我有两种收集表格。当我提交表单无效并且抛出 symfony 的错误时:
Symfony\Component\Validator\ConstraintViolation Object(Symfony\Component\Form\Form).children[registrosusuario] = Object(Doctrine\Common\Collections\ArrayCollection)
原因:Symfony\Component\Form\Exception\TransformationFailedException 复合表单在提交时需要一个数组或 NULL。
辅助类型:
AsistenciaRegistroTiempoType.php
任何帮助将不胜感激。谢谢。
mysql - 将自定义 SQL 添加到 Doctrine2 中的 orderBy 语句
我想按到点位置的距离(纬度/经度)对查询结果进行排序。
我正在使用 Doctrine2 和 Symfony2.8,这是我的查询:
但这不起作用,它会引发异常[Syntax Error] line 0, col 60: Error: Expected end of string, got '6371'
。
有没有办法将自定义 SQL 注入到这个或 DQL 方式来创建自定义 orderby?
php - Symfony2:生产环境中的弃用通知
我的一个 symfony 应用程序中的一个必需的包在最近的作曲家更新后导致另一个包中的弃用通知。这当然没有什么不寻常的。
但是,此通知显示在app.php
前端的生产环境中(通过 )。我的印象是,如果Kernel
构造函数的第二个参数 ( $debug
) 为 false,则前端不会显示任何通知、警告或错误。他们应该只被记录(根据独白设置)。
是否有任何其他 Symfony 配置可能导致不推荐使用的通知出现在前端的生产环境中?
使用的 Symfony 版本就是v2.8.3
这种情况。