草庐IT

Symfony4

全部标签

php - Symfony 4 注册表第二次提交 "There is already an active transaction"

我已经按照文档中的说明创建了一个用户注册表。稍后我想添加CSRF。从那以后它就不能正常工作了。我安装并删除了软件包。https://symfony.com/doc/current/doctrine/registration_form.htmlcomposerrequiresecurity-csrfcomposerremovesecurity-csrfrm-rfvendorrm-rfvar/cache/*那没有帮助。当我填写表格并提交时。如果用户被保存。第二次,我收到以下错误消息。只有当我在浏览器中删除cookie“PHPSESSID”时,我才能再次发送表单。之后又是同样的问题。PDOE

php - Symfony 2 表单额外字段

我正在通过AJAX更改一些字段,当我尝试保存表单时,我收到一个错误,提示Extrafieldsarenotallowed。如何更改验证器属性,例如sf1.4中的validatorPass()?或者它可能改变表单以接受额外的字段?我正在使用SonataAdminBundle创建表单。 最佳答案 您可以在将请求数据绑定(bind)到表单之前从请求数据中删除额外的字段://TheJSONPUTdatawillincludeallattributesintheentity,even//thosethatarenotupdateablebyt

PHPUnit 因 Symfony2 session 而失败

尝试在实现session的Controller方法上运行基于Controller的单元测试时遇到问题。在这种情况下,这里是Controller方法:/***@Route("/api/logout")*/publicfunctionlogoutAction(){$session=newSession();$session->clear();return$this->render('PassportApiBundle:Login:logout.html.twig');}以及功能测试:publicfunctiontestLogout(){$client=static::createClien

php - 如果我没有登录,Symfony 防火墙不会重定向我

好的,我已经花了10个小时来寻找我的问题的解决方案。如果我没有登录,我在Symfony2.7上的防火墙不会重定向我。如果我继续访问domain.com/admin/,防火墙应该将我重定向到/login,但不是。我使用FOSUSerBundle。我总是收到此错误消息:Youarenotauthenticated401Unauthorized-HttpException1linkedException:AuthenticationCredentialsNotFoundException»这是我的代码:security:encoders:FOS\UserBundle\Model\UserIn

php - Symfony 3 中不允许使用 405 方法

我有这条路线的路线/***@Method({"DELETE"})*@Route("/secure/users")*/当我尝试做一个cUrl时AnErrorOccurred:MethodNotAllowedOops!AnErrorOccurredTheserverreturneda"405MethodNotAllowed".Somethingisbroken.Pleaseletusknowwhatyouweredoingwhenthiserroroccurred.Wewillfixitassoonaspossible.Sorryforanyinconveniencecaused.我也试过

php - 在 Symfony 中向我的 ChoiceType 表单字段添加一个 'other, please specify' 选项

我正在尝试创建一个带有一组选项的表单字段,如果您选择“其他”,则需要填写额外的文本输入:Howoftendoyouexercise?(*)Idonotexerciseatthemoment()Onceamonth()Onceaweek()Onceaday()Other,pleasespecify:[]目前,我使用的是ChoiceType,我在其中设置了我的choices,如下所示:$form->add('exercise',Type\ChoiceType::class,array('label'=>'Howoftendoyouexercise?','choices'=>['Idonot

php - symfony 2 根据存储在数据库中的用户首选项设置语言环境

我正在尝试根据存储在数据库中的当前用户首选项设置语言环境。因此,我们的User类有一个getPreferredLanguage,它返回一个语言环境标识(“en”、“fr_FR”等)。我考虑过以下方法:注册一个订阅KernelEvents::REQUEST事件的“locale”监听器服务。此服务可以访问安全上下文(通过其构造函数)此服务的onKernelRequest方法尝试从安全上下文中获取用户,获取用户的首选语言环境,并将其设置为请求的语言环境。不幸的是,这不起作用。当调用“locale”监听器服务的onRequestEvent方法时,安全上下文没有token。上下文监听器似乎在很晚

php - 在 Symfony2 中从实体和存储库登录的正确方法

在symfony2体系结构中记录来自实体或存储库类的消息或错误的方法是什么?在symfony1中,你可以使用单例来杀死小狗,方法是从任何地方做这样的事情来获取记录器:sfContext::getInstance()->getLogger()Symfony2的容器模型更严格,这很好,但是应该如何从非容器感知类进行日志记录呢?对于repos,我想你可以将它们(全部)定义为服务,依赖于记录器,然后从那里开始。但是,如果您只有实体类的一个实例呢?以前我想将日志消息放在类方法中,但现在呢?我是否应该将记录器(作为参数)传递给每个想要写入日志消息的类方法?这似乎有点矫枉过正,但也许这是最佳实践?还

php - 从symfony形式在symfony 2中添加图片?

如何在symfony2中将图片从表单添加到数据库。我想制作一个Logo作为图片字段,并将项目图片从表单存储在数据库中。我该怎么做?这是我的表格:add('name')->add('description')->add('priority','choice',array('choices'=>array('high'=>'high','low'=>'low','medium'=>'medium')))->add('logo')->add('startedAt','datetime',array('label'=>false,'data'=>new\DateTime(),'attr'=>a

php - 动态表单(切换实体)symfony2

我正在制作广告页面。广告可以是不同的类型,因此具有不同的数据。例如,车辆会将make和model作为额外数据。现在,我有一个基本原则实体Advert,其中包含每个广告所需的数据。不同的广告依次继承这个数据(doctrine2discriminatormap)如果用户选择创建汽车广告,我需要动态填充表单(使用ajax和symfony2表单)我想显示汽车广告的选项。但我还需要将实体更改为AdvertVehicle形式。这可能吗?我确实阅读了symfony2主页上的食谱条目"HowtoDynamicallyModifyFormsUsingFormEvents":Thisshouldbehan