我正在尝试编写一个邮件队列捆绑包,用于将电子邮件事件存储到一个位置,并在稍后检索和处理它们,因为我们不使用mandrill等服务。
对于(这里对我的具体用例并不真实的感兴趣),我喜欢在我的bundle中提供额外的实体,因为我的bundle提供了一个BufferedDatabaseMailQueue。
由于一些研究,我在我的bundle的config.yml中包含了以下(尚未测试的)行:
doctrine:
orm:
auto_mapping: false
mappings:
AcmeDemoBundle:
type: annotation
alias: MyMailQueueBundle
prefix: MyMailQueueBundle\Entity
dir: %kernel.root_dir%/../src/MyMailQueueBundle/Entity
is_bundle: true
字符串
最后,我得到了这个错误消息:
YamlFileLoader.php第404行中出现InvalidArgumentException:没有扩展可以加载“doctrine”的配置
研究表明,该PrependExtensionInterface可能会以某种方式帮助我.但我不知道如何正确使用和配置它.因此,我的捆绑包可以基于学说.
我该怎么做?
2条答案
按热度按时间t3psigkw1#
我使用以下代码管理它:
字符串
roejwanj2#
我想留下一个评论,但它太长了,所以我决定把它作为一个单独的答案。
首先,很明显,如果您使用属性而不是注解,请使用
DoctrineOrmMappingsPass::createAttributeMappingDriver
而不是DoctrineOrmMappingsPass::createAnnotationMappingDriver
。其次,如果你使用的代码是,composer将失败与以下错误:
字符串
原因是OP在他的回答中设置了
aliasMap
。第三,我大量使用了领域驱动设计(DDD),我的实体被分隔在它们自己的文件夹中,在
$directories
中定义它们很好。所以Symfony 6.3的改进解决方案是这样的:
型
我现在很满意