【发布时间】:2018-05-30 10:44:40
【问题描述】:
Symfony 4.0 发布后,不再支持SensioGeneratorBundle。因此命令php app/console generate:doctrine:crud 不可用。
他们建议使用 MakerBundle,但我找不到合适的替代品来生成 CRUD。
有人可以帮忙吗?
【问题讨论】:
Symfony 4.0 发布后,不再支持SensioGeneratorBundle。因此命令php app/console generate:doctrine:crud 不可用。
他们建议使用 MakerBundle,但我找不到合适的替代品来生成 CRUD。
有人可以帮忙吗?
【问题讨论】:
您可以在 Symfony4+ 中使用make 命令(这是一个相当大的改进!),来自MakerBundle:
php bin/console make:crud
它会提示您要为哪个实体添加 crud。它在/src/controller 中生成一个具有索引、新建、更新、查看和删除方法的控制器,在/templates 中具有匹配的模板。
了解有用:如果您运行 make:entity,然后再次运行该命令并输入现有实体,它会响应:
您的实体已经存在!所以让我们添加一些新字段!
【讨论】:
首先安装 pre-req 包
composer require twig-bundle security-csrf
然后你就可以运行了
php bin/console make:crud
然后只需输入您要凝乳的实体名称
The class name of the entity to create CRUD (e.g. BlogPosts):
>
【讨论】:
Symfony4(感谢@jelle)
composer require symfony/maker-bundle --dev
composer require symfony/form symfony/validator symfony/twig-bundle symfony/orm-pack symfony/security-csrf
php bin\console make:crud
The class name of the entity to create CRUD (e.g. BravePuppy):
>
【讨论】:
目前MakerBundle 只支持一些核心命令。你可以看到列表here。不幸的是,没有 CRUD 生成器。但是问题中有一些discussion about it,因此您可以了解将要做什么。
如果您需要的只是样板代码的生成器,而不是像EasyAdminBundle 这样更结构化的解决方案,您应该考虑creating your own maker。
【讨论】:
make:crud 命令:github.com/symfony/maker-bundle/releases/tag/v1.2.0