domaincoder / code-metamodel-php
CodeMetamodel-PHP提供了PHP代码的元模型类和一个解析器,该解析器可以解析PHP代码并构建元模型对象。
dev-master
2015-03-26 09:29 UTC
Requires
- php: >=5.5.0
- doctrine/annotations: ~1.2
- herrera-io/annotations: ~1.0
- lstrojny/functional-php: 1.0.0-alpha4
- nikic/php-parser: ~1.1.0
- phpmentors/domain-kata: ~1.3
- symfony/console: ~2.6
- symfony/finder: ~2.6
Requires (Dev)
- phake/phake: ~2.0
- phpunit/phpunit: ~4.3
This package is not auto-updated.
Last update: 2024-09-14 16:45:01 UTC
README
PHP代码元模型
功能
Parser\Parser
通过CLI命令解析项目下的PHP源代码以生成元模型对象。Element\*
是元模型类。目前支持- 命名空间
- use
- 类
- 类注解
- 类继承
- 属性
- 属性注解
- 属性类型解析(仅由use声明)
- 方法
- 方法注解
Dumper\SimpleDumper
将元模型对象导出到简单的文本。
安装
可以使用Composer安装CodeMetamodel-PHP
。
注意:仅提供开发包。
// composer.json
{
"minimum-stability": "dev"
}
$ composer require domaincoder/code-metamodel-php
命令
CodeMetamodel-PHP
的一些功能通过CLI命令提供。可以按照以下方式运行CLI命令
$ php bin/domaincoder-parser.php COMMAND_NAME TARGET_DIR (OPTIONS)
parse
此命令解析TARGET_DIR下的代码并创建模型缓存。
$ php bin/domaincoder-parser.php parse /path/to/project/root
dump
此命令将指定位置的元模型对象导出到文件。
$ php bin/domaincoder-parser.php dump /path/to/project/root
filter-class
使用此命令可以在指定位置的元模型对象中搜索类。选项包括
- 注解:注解名称(例如ORM\Entity,author)
- 评论:关键字(例如与tax相关)
$ php bin/domaincoder-parser.php filter-class /path/to/project/root --annotation=Route --comment=Test
filter-property
使用此命令可以在指定位置的元模型对象中搜索属性。选项包括
- 注解:注解名称(例如ORM\Entity,author)
- 评论:关键字(例如与tax相关)
$ php bin/domaincoder-parser.php filter-property /path/to/project/root --annotation=Route --comment=Test
filter-method
使用此命令可以在指定位置的元模型对象中搜索方法。选项包括
- 注解:注解名称(例如ORM\Entity,author)
- 评论:关键字(例如与tax相关)
$ php bin/domaincoder-parser.php filter-method /path/to/project/root --annotation=Route --comment=Test
路线图
- v 0.0.1实现了解析器,可以将代码解析为元模型对象,并将模型对象保存到缓存(APC)或json格式。
- v 0.0.2添加了过滤命令。
- v 0.0.3添加了修改现有AST以添加字段、更改注解等。
支持
如果您发现错误或有问题,或者想要请求功能,请在问题页面上创建一个问题或拉取请求。
版权
版权所有(c)2015 GOTO Hidenori,保留所有权利。