草庐IT

symfony-components

全部标签

php - Symfony 2.8 注入(inject) Twig

预注:我正在从Drupal7背景学习Symfony。我已经创建了一个自定义模型(虽然我认为它们在Symfony中被称为服务,据我所知),并希望它通过twig将数组呈现为变量。我找到了这个链接,并认为这种注入(inject)方法可以解决问题:http://symfony.com/doc/2.8/service_container.html可悲的是,我遇到了以下错误:Typeerror:Argument1passedtoAppBundle\Model\Newsletter::__construct()mustbeaninstanceofAppBundle\Model\Twig_Enviro

php - Symfony 3.3 从 3.2 : Compile Error: Cannot declare class Symfony\Bundle\SecurityBundle\Security\FirewallMap

自从我从symfony3.2更新到3.3后我遇到了一些问题,我得到了这个错误CompileError:CannotdeclareclassSymfony\Bundle\SecurityBundle\Security\FirewallMap,becausethenameisalreadyinuseinclasses.php(line1709)inClassCollectionLoader.php(line99)atClassCollectionLoader::load()inKernel.php(line428)atKernel->doLoadClassCache()inKernel.p

php - 仅在自定义验证器字段上需要 Symfony 表单

我正在努力寻找一种方法来使required只有那些附加了我自己的自定义验证器的字段。有什么办法可以做到这一点?/***@varstring*@ORM\Column(type="string",length=255)*@AdminAssert\CustomNotBlank(//所以在上面的例子中只有$name必须有'required'=>true,因为它是由我自己的验证器CustomNotBlank验证的.并且无论他们有什么其他验证设置,没有没有这个验证器的字段。FormType并不重要,因为我有很多表单类型的字段(这只是两个文本类型字段的简单示例) 最佳答案

php - 如果在 Symfony 中选中了复选框,则关闭表单类型的验证

我正在尝试创建一个包含付款和送货地址的地址表。选中送货地址上的复选框后,我想跳过对该地址进行的表单验证。我已经创建了下面的表单类型,其中包含一个切换选项,该选项将显示和处理复选框,但是即使选中,表单仍然有效。Symfony有documentationonhowtoimplementsuchaform,即使我几乎拥有完全相同的代码,但在检查时不会关闭验证。我没有使用验证组,所以我只是禁用默认组以禁用对实体的验证。AddressType为Address类构建表单(它对某些字段有注释约束,如NotBlank和Callback).classAddressTypeextendsAbstractT

php - 创建资源 : [message] fopen(): Unable to find the wrapper "https" on Ubuntu using Symfony 时出错

我正在尝试在Ubuntu17.04机器上安装Symfony3,但出现错误:[GuzzleHttp\Ring\Exception\RingException]Errorcreatingresource:[message]fopen():Unabletofindthewrapper"https"-didyouforgettoenableitwhenyouconfiguredPHP?[file]phar:///usr/local/bin/symfony/vendor/guzzlehttp/ringphp/src/Client/StreamHandler.php[line]406[messag

php - 如何对 Symfony Controller 进行单元测试

我正在尝试使用Codeception在测试工具中获取SymfonyController。每个方法开始如下:publicfunctionsaveAction(Request$request,$id){//Entitymanagement/**@varEntityManager$em*/$em=$this->getDoctrine()->getManager();/*Actualcodehere...*/}publicfunctionsubmitAction(Request$request,$id){//Entitymanagement/**@varEntityManager$em*/$e

php - Symfony - twig - 自动加载器预期类

我对symfony和显然是twig有疑问。我已经在一个项目上工作了一段时间,当我准备发布一个新版本时(通过ftp上传所有内容,然后:https://medium.com/@runawaycoin/deploying-symfony-4-application-to-shared-hosting-with-just-ftp-access-e65d2c5e0e3d)。就在上传之前,我发现该应用程序在一天前停止工作。我开始搜索问题,但日志中没有任何内容。我决定重新上传所有内容并清除缓存,以防出现问题,但仍然没有任何问题,只有500错误。然后我启用调试,并得到错误:Theautoloadere

php - 防止未经授权的用户直接访问上传的文件 - Symfony

出于安全考虑,我试图只为登录我网站的用户提供对上传文件的直接访问权限。我试过this配置,但它似乎正在处理下载图像。这是我的Twig文件代码,我在其中显示图像。{%if(req.media!='')%}{%endif%}下方奏鸣曲媒体的配置。奏鸣曲媒体.ymlsonata_media:#ifyoudon'tusedefaultnamespaceconfiguration#class:#media:MyVendor\MediaBundle\Entity\Media#gallery:MyVendor\MediaBundle\Entity\Gallery#gallery_has_media:

php - symfony 4 - bugsnag - 忽略特定的异常类型

我使用bugsnag来记录我们应用程序的错误。该应用程序基于symfony4构建,我有一个自定义监听器,可以捕获异常并处理其中的一些异常。我需要的是告诉bugsnag忽略我手动处理的异常(不需要记录它们,因为它们已经被处理过)。我的自定义监听器的优先级高于bugsnag监听器(因此先运行)。问题是停止事件传播会破坏其他东西(例如,安全监听器不再运行,因为默认情况下它的优先级低于bugsnag)。下面是我的监听器代码(好吧......它的相关部分):classExceptionListener{protected$router;private$mailerService;private$

php - 使用学说的 Symfony 4 工作人员无法正常工作 : SQLSTATE[HY000] [2002] Connection timed out

我正在使用带有Symfony4Messenger组件的worker。这个worker是接收消息(来自rabbitMQ)启动ffmpeg对视频进行处理并在数据库中保存一些东西。为了在Symfony上配置这个worker,我已经这样做了(中间件很重要)://config/packages/framework.yamlframework:messenger:buses:command_bus:middleware:#eachtimeamessageishandled,theDoctrineconnection#is"pinged"andreconnectedifit'sclosed.Usef