【问题标题】:getting config.yml value out of an entity从实体中获取 config.yml 值
【发布时间】:2013-07-16 10:02:40
【问题描述】:

我想从 symfony2 实体中获取 config.yml 的值。

config.yml:

my_example_bundle:
    slug_pattern: "/^[a-z0-9\._\-]{2,20}$/"

实体:

function setUsername($username) {
    $pattern = ""; // need to get it from slug_pattern in config.yml

    if (!preg_match($pattern, $username)) {
        throw new \InvalidArgumentException("Username has to match " . $pattern);
    }
    ...
}

谢谢!

更新: Dev4TheWeb 也发布了一个不错的解决方案:http://dev4theweb.blogspot.ch/2012/08/how-to-access-configuration-values.html

【问题讨论】:

    标签: php symfony


    【解决方案1】:

    原则实体的问题在于从数据库中检索它们时。它们在没有通过构造函数的情况下被教义实例化,因此可能具有与创建 new 语句时不同的依赖关系。

    因此,让您的模型意识到这一点可能不是一个好主意。 您可能更喜欢使用外部服务并更喜欢贫血模型(简单数据对象)。 然后,您会将所有逻辑委托给一个专用服务。

    如果您不想这样做,您仍然可以手动注入您的依赖项(例如在构造函数中)。这仅在您手动对实体进行冥想时才有效。

    然后你必须利用 postLoad 事件来注入相同的依赖项(例如通过 setter)。 这种重复有点糟糕。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多