【问题标题】:Symfony2 entity dependencies/app parametersSymfony2 实体依赖项/应用程序参数
【发布时间】:2011-10-06 01:55:10
【问题描述】:

我对 Symfony2 还是很陌生,我正试图掌握如何以及何时传递依赖项/应用程序参数,并且对如何将参数插入实体感到困惑。

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

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

非常感谢任何指导。

【问题讨论】:

    标签: dependency-injection doctrine-orm symfony


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回答。虽然这似乎是一个相当冗长的方法,但它确实是有道理的。我会努力让它发挥作用。
    • 如果您需要更详细地解释某些部分,请随时询问!否则,请考虑将此答案标记为正确
    猜你喜欢
    • 1970-01-01
    • 2019-02-05
    • 2015-04-26
    • 2018-03-26
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多