【问题标题】:Doctrine custom type: How to load values from config file?Doctrine 自定义类型:如何从配置文件中加载值?
【发布时间】:2012-11-13 22:54:50
【问题描述】:

我在 Symfony 2 环境中使用 Doctrine 2。

我创建了一个扩展\Doctrine\DBAL\Types\Type 的自定义数据类型。此数据类型应将数据库中存储的整数值映射到特定字符串(如 ENUM,但整数和字符串必须可访问)。

目前,这些值的映射是使用包含数组的类变量在教义类型中硬编码的。

class xyType extends \Doctrine\DBAL\Types\Type {
  public static $messageTypes = array(
    10 => "Wareneingang",
    20 => "Polstern",
    .
    .
    .
  }

  .
  .
}

现在我想把这个数组放到这个包的 config.yml 中。但是我不知道如何在这个类型类中使用依赖注入,以便能够以任何方式访问我的配置参数......

我希望你能帮助我。我也愿意接受其他想法来实现这一点。

提前谢谢

【问题讨论】:

    标签: symfony dependency-injection doctrine-orm custom-type


    【解决方案1】:

    是的,你不能在你的类型类中访问 DI,但是有一个包初始化阶段,你可以将你的类型从配置保存到你的静态属性。所以我建议使用 YourBundleExtension 来解决这个问题。

    【讨论】:

    • 我尝试了一些方法来遵循您的建议,但我无法通过这种方式解决。
    • 好的,经过一些输入和测试,我明白了...在类型中使用静态变量并在 YourBundleExtension 中对其进行初始化。谢谢
    猜你喜欢
    • 2019-10-26
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 2014-05-03
    • 1970-01-01
    相关资源
    最近更新 更多