我必须在 Doctrine\Common\Persistence\Mapping\Driver\Annotation::getAllClassNames 中进行一些更改,因为 Doctrine 使用 require_one 并且我希望它使用我的自定义 spl 自动加载器。
我的问题是:如何告诉 Doctrine 使用我自己的代码而不更改 Symfony 的供应商文件夹?
我必须在 Doctrine\Common\Persistence\Mapping\Driver\Annotation::getAllClassNames 中进行一些更改,因为 Doctrine 使用 require_one 并且我希望它使用我的自定义 spl 自动加载器。
我的问题是:如何告诉 Doctrine 使用我自己的代码而不更改 Symfony 的供应商文件夹?
您可以通过doctrine.orm.metadata.annotation.class
在 parameters.ini/yml/xml 中将参数设置为类的名称来实现此目的。
从 Doctrine/Bundle/DoctrineBundle/Resources/config/orm.xml:
<parameter key="doctrine.orm.metadata.annotation.class">Doctrine\ORM\Mapping\Driver\AnnotationDriver</parameter>
我自己没有对此进行测试,但这就是我过去如何覆盖这样的事情。