marijnkoesen / code-generator-bundle
PHP 5.3 代码生成器
0.1.1
2014-03-05 09:21 UTC
Requires
- php: >=5.3.0
- marijnkoesen/php-code-generator: ~0.1.0
- symfony/framework-bundle: ~2.1
This package is not auto-updated.
Last update: 2024-09-14 14:34:52 UTC
README
MarijnKoesenCodeGenerator 模块允许您为类生成 PHP 代码。
该项目基于php-code-generator 项目,并依赖于Symfony2 框架。如果您没有 Symfony2,可以查看可以独立安装的 php-code-generator 项目。
安装
使用 composer 包含该模块
"require-dev": {
"marijnkoesen/code-generator-bundle": "~0.1.0",
}
然后更新您的 composer
$ composer update
在 app_kernel.php
中注册该模块
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new MarijnKoesen\CodeGeneratorBundle\MarijnKoesenCodeGeneratorBundle();
}
在 routing_dev.yml
中包含路由
MarijnKoesenCodeGeneratorBundle:
resource: "@MarijnKoesenCodeGeneratorBundle/Resources/config/routing.yml"
prefix: /code-generator
安装资产
$ ./app/console assets:install
打开您的浏览器并访问 http://your-project/code-generator/
URL。
配置
您可以使用配置添加自己的模块,或禁用默认模块。
有关如何创建自己的模块的信息,请参阅以下内容。
marijn_koesen_code_generator:
# Add your own custom modules
modules:
My\NameSpace\CodeGenerators\MyCustomGenerator: true
# Disable a default generator
defaultModules:
codegenerator\generator\MockGenerator: false
扩展代码生成器
如果您想从类定义中生成其他内容,可以轻松创建自己的代码生成器。
您可以扩展 AbstractGenerator 类,并轻松创建自己的实现。
以下是一个示例生成器
<?php namespace MyNamespace; use codegenerator\model\ClassEntity; use codegenerator\model\ClassMember; class MyGenerator extends AbstractGenerator { public function generateCode(ClassEntity $class=null) { return 'class ' . $class->getName() . ' {}'; } public function getName() { return 'Doctrine'; } }
然后将其添加到您的 config_dev.yml
marijn_koesen_code_generator:
modules:
MyNamespace\MyGenerator: true
鸣谢
由 Marijn Koesen 开发和维护
许可证
此模块基于 MIT 许可证发布。请参阅模块中的完整许可证。
Resources/meta/LICENSE