【问题标题】:Symfony2: How to override a vendor fileSymfony2:如何覆盖供应商文件
【发布时间】:2014-01-20 21:30:03
【问题描述】:

我知道如何在 Symfony2 中覆盖包的任何部分。我关注了this

它成功了。

但是,如果我想覆盖供应商文件夹中不属于捆绑包的文件怎么办。

在我的具体示例中,我需要覆盖

vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php

这可能吗?感谢您的帮助

【问题讨论】:

    标签: php symfony doctrine overriding vendor


    【解决方案1】:

    您必须告诉 EntityManager 使用哪个元数据驱动程序:

    <?php
    $driver = new \Doctrine\ORM\Mapping\Driver\XmlDriver('/path/to/mapping/files');
    $em->getConfiguration()->setMetadataDriverImpl($driver);
    

    您使用扩展版本而不是默认的XmlDriver,例如

    <?php
    $driver = new \My\XmlDriver('/path/to/mapping/files');
    $em->getConfiguration()->setMetadataDriverImpl($driver);
    

    这个sn-p中的$em是EntityManager。

    有关如何编写和使用您自己的 Metadriver 实现的更多详细信息,请参阅 http://docs.doctrine-project.org/en/latest/reference/metadata-drivers.html

    【讨论】:

    • 幸运的是我不必尝试。我想覆盖它,因为我有一些 simple_xml i/o 错误。这些都解决了,所以我不再需要它了。不过还是谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    相关资源
    最近更新 更多