【问题标题】:Symfony4 MakerBundle Own Crud MakerSymfony4 MakerBundle 自己的 Crud Maker
【发布时间】:2018-10-20 17:50:45
【问题描述】:

我想自定义新的 makerbundle crud maker 的样板代码。没有像在 SensioGeneratorBundle 中那样简单地覆盖模板。我试图根据原始代码生成一个自定义的 MyMakeCrud - 但我对注入的 DoctrineEntityHelper $entityHelper 感到困惑。

 Cannot autowire service "App\Maker\MakeMyCrud": argument "$entityHelper" of
 method "__construct()" references class "Symfony\Bundle\MakerBundle\Doctri
 ne\DoctrineEntityHelper" but no such service exists. You should maybe alias
 this class to the existing "maker.doctrine_entity_helper" service.

现有的 maker.doctrine_entity_helper 在 maker 包中定义为私有。如何让注入运行?

你能帮帮我吗?有没有人定制 crud 生成的例子? sf4 中的新内容。

【问题讨论】:

    标签: crud symfony4 boilerplate


    【解决方案1】:

    您必须为它定义一个服务,如下所示:

        app.maker.make_crud:
        class: App\Maker\MakeCrud
        arguments: ['@maker.doctrine_helper']
        calls:
            - [configureCommand, ['@security.command.user_password_encoder', '@?']]
            - [interact, ['@?', '@?', '@security.command.user_password_encoder']]
        tags:
            - { name: maker.command }
    

    我把它放在config/services.yaml

    App\Maker\MakeCrud 是你的 crud maker 课程。

    真的应该把它放在 services_dev.yaml 文件中。

    希望这会有所帮助。

    【讨论】:

    • 试过这个(在 config/services.yaml - 使用 App\Maker\MakeMyCrud)。获取:服务“maker.auto_command.make_my_crud”依赖于不存在的服务“maker.doctrine_helper”?
    • 只是一个论点错误:@maker.doctrine_entity_helper - 那么就可以了!
    【解决方案2】:

    非常感谢你们俩的这篇文章。我也必须自定义 MakeCrud 命令。 这是适用于我的版本 5 的配置。

    app.maker.make_crud:
        class: App\Maker\MakeCrudCommand
        arguments: ['@maker.doctrine_helper', '@maker.renderer.form_type_renderer']
        calls:
            - [configureCommand, ['@security.command.user_password_encoder', '@?']]
            - [interact, ['@?', '@?', '@security.command.user_password_encoder']]
        tags:
            - { name: maker.command }
    

    【讨论】:

    • 鉴于此,我认为@Carl-Owens 的回答在版本 5 中不再适用?
    猜你喜欢
    • 2021-03-13
    • 1970-01-01
    • 2021-03-05
    • 2018-10-09
    • 2019-05-19
    • 1970-01-01
    • 2018-06-16
    • 2019-07-20
    • 2020-03-05
    相关资源
    最近更新 更多