草庐IT

symfony-dependency-injection

全部标签

php - Symfony 从子文件夹解析 yaml 文件

我正在尝试从文件夹子文件夹中解析所有特定的.yml文件。比如说我有带有test&example子文件夹的Modules文件夹。测试和示例都有我要解析的.yml文件。目前我有:$yaml=newParser();$yml_array=$yaml->parse(file_get_contents(__DIR__.'/path/to/file.yml'));这可行,但每次添加带有.yml文件的新子文件夹时,硬编码都会很痛苦。有人可以帮助我并教我如何更聪明地做或给小费吗?感谢您的宝贵时间 最佳答案 您可以使用DirectoryLoader:

php - Symfony3 : How to set multiple connections?

我正在使用Symfony3应用程序,我想建立到不同数据库的多个连接。我一直在四处寻找,找到了关于entityManagers和数据库连接的文档。我的config.yml配置如下:配置.ymldoctrine:dbal:default_connection:defaultconnections:default:driver:pdo_mysqlhost:"%database_host%"port:"%database_port%"dbname:"%database_name%"user:"%database_user%"password:"%database_password%"chars

PHP - 如果自动加载,为什么要使用依赖注入(inject)?

请原谅这个问题可能很天真,但我真的很困惑。似乎使用依赖注入(inject)来解耦代码是一种很好的做法,这样您的类就可以加载它们的依赖关系。请想象下面的类Foo依赖类BarnamespaceClasses;classFoo{protectedbarInstance;publicfunction__construct(Bar$barInstance){$this->barInstance=$barInstance;}}但是,如果您要自动加载您的类,那么下面的代码肯定会在不需要DI的情况下做完全相同的事情吗?namespaceClasses;useClasses/Bar;classFoo{p

php - Symfony2 降级包以使用 php 5.6.20

我有一些包的问题,​​我使用包:vich/uploader-bundle1.0.1所以我的项目只在PHP7.0上运行...如何降级某些包以使用PHP5.6.20?Composer安装:问题1ocramius/package-versions1.0.4的安装请求->ocramius/package-versions[1.0.4]可满足。ocramius/package-versions1.0.4需要php~7.0->您的PHP版本(5.6.20)不满足该要求。问题2ocramius/proxy-manager2.0.1的安装请求->可由ocramius/proxy-manager[2.0

php - 交响乐 2 : why injecting kernel into service is bad idea?

我需要在我的服务中获取当前的应用程序环境。我发现我可以从内核中获取它,但是很多人说注入(inject)内核是个坏主意。有人能解释一下为什么实际上它被认为是不好的做法吗?这不是比将整个容器注入(inject)我的服务更好的解决方案吗?my_app.my_not_so_great_service:class:AppBundle\Services\AppServicearguments:-"@kernel" 最佳答案 RichardMiller[0]的一篇文章解释了这个问题。其要点是,依赖于当前的应用程序环境是一种设计不当的架构的代码味道

php - 如何将数组(可自定义)添加到 symfony2 表单(使用 sonata Admin)?

我有一个带有Sonataadmin的简单表单。我希望用户可以添加一个整数列表(任意多)。然后它将作为数组存储在我的对象中:[1,2,3,6,9]有什么方法可以在不创建另一个类来实例化整数的情况下做到这一点?更新:我知道如何接近某些东西的唯一方法是使用像这样的选择:->add('type','choice',["required"=>true,"expanded"=>true,"multiple"=>false,"choices"=>Campanha::getTypes(),])但是我的选择数量有限,我希望用户可以自由添加他想要的数字数量和值 最佳答案

javascript - 单击时将 GET 参数注入(inject)按钮的目标 URL

我有多个类为myButton的按钮。每个按钮都有一个值,该值在单击时发送到服务器。按钮的目标URL看起来像这样:http://mysite/test/test.html?cid=15在我点击按钮后,应该将以下GET参数添加到URL,然后应该提交按钮:mySessionVar=1所以新的URL应该是这样的:http://mysite/test/test.html?cHash=d009eb3f9f4e1020435b96a8f7251ad5&mySessionVar=1为什么我要注入(inject)它?我正在使用流体。据我所知,不可能使用JavaScript操作流体标签。但是,我需要将se

php - Symfony 3 通过重定向传递对象

我目前正在学习Symfony表单。我遇到问题的代码无法按我希望的方式工作。我想要做的是让用户向我的默认Controller提交数据,如果数据有效,将其重定向到另一种方法,以便我可以执行类似将数据提交到数据库的操作。我遇到的问题是将数据传递给另一个命名路由,这是一个具有简单名称和日期字段的任务对象。这里是我写的一些代码,只是类类结构的基本形式。任务类型.phpnamespaceAppBundle\Entity\Forms;useSymfony\Component\Form\AbstractType;useSymfony\Component\Form\FormBuilderInterfac

PHP Symfony2 : Delete a temp file after response

我有一个生成图像并在响应中返回图像的Controller。useFOS\RestBundle\Controller\AnnotationsasRest;useSymfony\Component\HttpFoundation\BinaryFileResponse;.../***@Rest\Get("/image/{name}")*/publicfunctiongetImage($name){$imageService=$this->get('image.service');$tempImage=$imageService->genImage($name);returnnewBinaryF

php - API Platform v1.1.1 & Symfony 3.2.8 composer 冲突

我有SymfonyDemoApplication启动并运行,现在我正在尝试installAPIPlatformasastandalonebundle.我使用的是PHP7.0.10和最新的composer,但我之前的测试使用的是PHP5.6.20。当我尝试将APIPlatformCore添加为依赖项时,我收到以下错误消息:$composerrequireapi-platform/coreUsingversion^1.1forapi-platform/core./composer.jsonhasbeenupdatedLoadingcomposerrepositorieswithpackag