我刚开始使用Symfony4 / Doctrine2。所以,我需要实现Doctrine2自定义NamingStrategy
,但找不到除此之外的任何文档/示例:https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/namingstrategy.html和此答案How to setup table prefix in symfony2。在与Symfony4的关系中,他们没有解释如何做到这一点。我知道我需要创建一个实现NamingStrategy
接口的类,那么我应该把这个类放在src/Entity
的Symfony4文件夹结构中?
然后我需要将该类注册为服务,经验丰富的Symfony开发人员必须很容易知道,但是我刚刚开始,对此进行详细阐述会很高兴。谢谢,任何意见都表示赞赏。
答案 0 :(得分:0)
无论如何,我已经设法弄明白了。
首先,我创建了扩展UnderscoreNamingStrategy的自定义命名策略类。我把它放在src / Service /下,仍然不确定它是否适合它进入文件夹层次结构。
然后我通过在config / services.yaml的末尾添加以下内容将此类注册为服务:
...
# Naming Strategy
app.naming_strategy.custom:
class: App\Service\CustomNamingStrategy
autowire: true
之后我通过编辑config / packages / doctrine.yaml将配置原则配置为使用此自定义命名策略,如下所示:
我已经注释掉了:
naming_strategy: doctrine.orm.naming_strategy.underscore
并在其下添加:
naming_strategy: app.naming_strategy.custom