在 symfony 4 中生成 CRUD

Posted

技术标签:

【中文标题】在 symfony 4 中生成 CRUD【英文标题】:Generating CRUD in symfony 4 【发布时间】:2018-05-30 10:44:40 【问题描述】:

Symfony 4.0 发布后,不再支持SensioGeneratorBundle。因此命令php app/console generate:doctrine:crud 不可用。

他们建议使用 MakerBundle,但我找不到合适的替代品来生成 CRUD。

有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

您可以在 Symfony4+ 中使用make 命令(这是一个相当大的改进!),来自MakerBundle:

php bin/console make:crud

它会提示您要为哪个实体添加 crud。它在/src/controller 中生成一个具有索引、新建、更新、查看和删除方法的控制器,在/templates 中具有匹配的模板。

了解有用:如果您运行 make:entity,然后再次运行该命令并输入现有实体,它会响应:

您的实体已经存在!所以让我们添加一些新字段!

【讨论】:

【参考方案2】:

首先安装 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):
 >

【讨论】:

【参考方案3】:

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):
 >

【讨论】:

【参考方案4】:

目前MakerBundle 只支持一些核心命令。你可以看到列表here。不幸的是,没有 CRUD 生成器。但是问题中有一些discussion about it,因此您可以了解将要做什么。

如果您需要的只是样板代码的生成器,而不是像EasyAdminBundle 这样更结构化的解决方案,您应该考虑creating your own maker。

【讨论】:

谢谢@dlondero 另一个问题是 Symfony 4 调试工具栏在哪里? 我找到了,根据文档必须安装Profiler组件。 我一直在寻找这个功能并偶然发现了这个答案。自 2018 年 3 月 14 日最新版本以来,添加了 make:crud 命令:github.com/symfony/maker-bundle/releases/tag/v1.2.0

以上是关于在 symfony 4 中生成 CRUD的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 2,autoload.php 在错误的目录中生成

使用 Twig 和 Symfony2 在 javascript 中生成路由

Symfony Oneup_uploader 包,在响应中生成 url 时出现问题:\/ 分隔符而不是 /

为所有从包路由导入的前缀添加前缀时,如何在 Symfony 包的模板中生成 URL?

如何从 Laravel 中的迁移中生成视图?

Symfony 和 Doctrine 使迁移无效