【问题标题】:Symfony4 Doctrine2 custom NamingStrategy how toSymfony 4 Doctrine 2 自定义 NamingStrategy 如何
【发布时间】:2018-10-18 00:43:44
【问题描述】:

我刚从 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 开发人员来说一定很容易知道,但是由于我刚刚开始,所以很高兴对此进行一些详细说明。谢谢,任何意见表示赞赏。

【问题讨论】:

    标签: doctrine-orm symfony4


    【解决方案1】:

    无论如何,我已经设法自己弄清楚了。

    首先,我创建了扩展 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多