mjr / code-generator-bundle
基于twig的代码生成
Requires
- php: >=7.1.0
- mikey179/vfsstream: 1.*
- mjr/cg-interfaces: 1.*
- nikic/php-parser: ^3.0.2
- phpdocumentor/reflection-docblock: ^3.0
- phpunit/php-code-coverage: 5.*
- phpunit/php-invoker: 1.*
- phpunit/phpunit: 6.*
- phpunit/phpunit-mock-objects: 4.*
- symfony/property-access: <3.4.0
- symfony/property-info: <3.4.0
- symfony/symfony: <3.4.0
README
此Bundle包含一个用于使用Symfony框架快速开发的代码生成器。
安装
步骤 1: 下载Bundle
打开命令行,进入您的项目目录,并执行以下命令以下载此bundle的最新稳定版本
.. code-block:: bash
$ composer require mjr/code-generator-bundle "1.*"
此命令要求您全局安装Composer,如Composer文档的安装章节 <https://getcomposer.org.cn/doc/00-intro.md>
所述。
步骤 2: 启用Bundle
然后,通过在您的项目的app/AppKernel.php
文件中添加以下行来启用该bundle
.. code-block:: php
<?php
// app/AppKernel.php
use MjrOne\CodeGeneratorBundle\MjrOneCodeGeneratorBundle;
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new MjrOneCodeGeneratorBundle(),
);
// ...
}
}
步骤 3: 更新配置
您可能需要更新/修改Bundle的配置。它针对Symfony进行了优化。如果您有不同的布局,请检查Bundle配置文件!
支持的代码生成器
服务
此代码生成器有助于创建具有自动依赖注入的简单服务(包括基于构造函数和基于setter)。已添加对控制器服务(所有选项都已设置)的支持。所有添加的函数都放入TraitServiceXX特质中,并添加到服务类中。如果是控制器,还会添加路由注解 这是完全可配置的。
突变器
添加getter和setter以及检查是否包含任何值或检查数组值(数组 + 数组集合)[has]的方法。对于数组集合和数组,还添加了addXX、removeXX、countXX方法。 这是完全可配置的。
实体
一次性代码生成。如果不存在,则添加存储库类 这是完全可配置的。
存储库
为您的存储库添加一些基本函数。 这是完全可配置的。
命令
生成代码
./bin/console mjr:generateCode --help ✓ 206 00:28:28 用法:mjr:generateCode [选项] [--]
参数:file 为生成代码的文件
选项:-a, --all 更新Bundle中的所有文件,-h, --help 显示此帮助信息,-q, --quiet 不输出任何信息,-V, --version 显示此应用程序版本,--ansi 强制ANSI输出,--no-ansi 禁用ANSI输出,-n, --no-interaction 不询问任何交互式问题,-e, --env=ENV 环境名称 [默认: "prod"],--no-debug 关闭调试模式,-v|vv|vvv, --verbose 增加消息的详细程度:1 为正常输出,2 为更详细输出,3 为调试
帮助:生成MJRONE Bundle代码
这是主要代码生成器。如果您添加了-a或--all标志,则需要将文件指定为bundle的路径!
更新路由文件
./bin/console mjr:generateRouting --help ✓ 208 00:34:16 用法:mjr:generateRouting []
参数:cleanup 删除未找到的选项
选项:-h, --help 显示此帮助信息,-q, --quiet 不输出任何信息,-V, --version 显示此应用程序版本,--ansi 强制ANSI输出,--no-ansi 禁用ANSI输出,-n, --no-interaction 不询问任何交互式问题,-e, --env=ENV 环境名称 [默认: "production"],--no-debug 关闭调试模式,-v|vv|vvv, --verbose 增加消息的详细程度:1 为正常输出,2 为更详细输出,3 为调试
帮助:生成bundle路由
如果添加了cleanup参数,则生成器将从一个空的配置文件开始!