Doctrine自定义类型:如何从配置文件加载值?

时间:2012-11-26 12:53:46

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

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

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

目前,这些值的映射使用保存和数组的类变量在doctrine类型中进行硬编码。

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

  .
  .
}

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

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

提前谢谢

1 个答案:

答案 0 :(得分:1)

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