繁体   English   中英

Symfony2:如何覆盖供应商文件

[英]Symfony2: How to override a vendor file

我知道如何覆盖Symfony2中捆绑软件的任何部分。 我跟着这个

而且有效。

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

在我的特定示例中,我需要覆盖

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

这可能吗? 谢谢你的帮助

您必须告诉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);

此代码段中的$em是EntityManager。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM