idimensionz/entity-generator-bundle

v1.3.1 2020-05-04 19:38 UTC

README

Codacy Badge

Symfony服务和控制台命令,用于将MySQL表反向工程为实体类。

加入iDimensionz社区Slack频道,提问、分享技巧并与使用此软件的其他人交流。

配置

  • 将以下内容添加到您的kernel中的registerBundles()方法:
    new iDimensionz\EntityGeneratorBundle\EntityGeneratorBundle(),
  • 将以下内容添加到services.yml中:
     idimensionz.mysql_column_definition_provider:
         class: iDimensionz\EntityGeneratorBundle\Provider\MysqlColumnDefinitionProvider
 
     idimensionz.entity_creator_service:
         class: iDimensionz\EntityGeneratorBundle\Service\EntityCreatorService
         arguments: ["@idimensionz.mysql_column_definition_provider", "@twig"]
 
     idimensionz-entity-generator-command:
         class: iDimensionz\EntityGeneratorBundle\Command\GenerateEntityCommand
         arguments: ["@idimensionz.entity_creator_service", ~]
  • 将"%kernel.project_dir%/vendor/idimensionz/entity-generator-bundle/templates"添加到config.yml中的twig.paths。
  • 完成!

如何运行控制台命令

控制台命令需要3个参数:

  • schema-name
  • table-name
  • entity-class-name

以下是一个为MySQL信息_schema数据库中的COLUMNS表创建实体类的示例:

bin/console idimensionz:generate:entity --schema-name=information_schema --table-name=PROFILING --entity-class-name=Profiling

该命令将输出类代码到屏幕,您可以将它复制粘贴到您的IDE中。

注意:如果您使用PhpStorm,您可以使用PHP 7参数和返回值类型提示以及文档块轻松生成getter和setter。

待办事项

我们希望实现以下改进。如果您想帮助这些改进,请随时提交PR。

  1. 将twig块添加到模板中,以便更容易自定义某些部分。
  2. 添加指定实体文件将创建的包的功能。