Symfony2实体依赖项/ app参数

时间:2011-10-06 01:55:11

标签: dependency-injection doctrine-orm symfony

我对Symfony2很陌生,我正试图了解如何以及何时传递依赖项/ app参数,并且陷入了如何将参数插入实体的困惑。

情况是我有一个实体,它将包含上传文件名的字符串,我想传递我在app / config.yml中设置的目录位置的参数(将存储上传文件的位置) 。这与http://symfony.com/doc/2.0/cookbook/doctrine/file_uploads.html基本类似,但是在app / config.yml中定义了路径,而不是硬编码到实体中。

首先我认为这可以通过构造函数来完成,但这对新对象来说似乎没问题,而不是当它们从存储库中取出时? (因为那时没有调用构造函数)所以我不知道你应该如何将依赖项传递给entites。

非常感谢任何指导。

1 个答案:

答案 0 :(得分:0)

我认为应该通过为onLoad(可能是onPersist,不确定)事件添加listener来解决此问题。

在实体中添加一个setUploadPath($path)方法,您将与侦听器一起调用。

为了在侦听器中实际拥有path参数,您可以在设置侦听器服务时将其作为构造函数参数传递。