在 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 时出现问题:\/ 分隔符而不是 /