elama / php-raml-parser
用php编写的RAML解析器
v3.1.30
2020-06-01 10:07 UTC
Requires
- php: >=5.6
- justinrainbow/json-schema: 5.1.*
- oodle/inflect: ~0.2
- psr/http-message: ^1.0
- symfony/routing: ^3.0|^4.0|^5.0|^5.1
- symfony/yaml: ^3.0|^4.0|^5.0|^5.1
- willdurand/negotiation: ^2.2
Requires (Dev)
- php-coveralls/php-coveralls: 2.1.*
- phpunit/phpunit: 5.7.*
- squizlabs/php_codesniffer: 3.3.*
- dev-master
- v3.1.30
- v3.1.29
- v3.1.28
- v3.1.25
- V3.1.24
- v3.1.23
- v3.1.22
- v3.1.21
- V3.1.20
- v3.1.19
- 3.1.18
- 3.1.17
- 3.1.16
- 3.1.15
- v3.1.14
- v3.1.13
- v3.1.12
- v3.1.11
- v3.1.10
- v3.1.9
- v3.1.8
- v3.1.7
- v3.1.6
- v3.1.5
- v3.1.4
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.0
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- 2.2.1
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.2
- 2.0.1
- 2.0.0.x-dev
- 2.0.0
- 1.1.1
- 1.1.0
- 1.0.0
- 0.6.3
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.1
- 0.4.0
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.0
- dev-securitySchemes
This package is auto-updated.
Last update: 2021-07-29 01:29:17 UTC
README
已完成和应工作
- 属于RAML 1.0 类型表达式
- 枚举
- 联合类型表达式("或"
|
操作符) - 类型数组
discriminator
和discriminatorValue
面板
仍然待办
原始文档
将RAML文件解析成PHP对象。
在此查看RAML规范: https://github.com/raml-org/raml-spec
开始使用
要求
- composer (查看 https://getcomposer.org.cn)
composer require elama/php-raml-parser
$parser = new \Raml\Parser(); $apiDef = $parser->parse($filename, true); $title = $apiDef->getTitle();
解析模式
该库可以将模式转换为验证对象。有一个默认列表,或者可以手动配置。每个模式解析器都必须符合 \Raml\Schema\SchemaParserInterface
并返回一个 \Raml\Schema\SchemaDefinitionInterface
的实例。
可以创建额外的解析器和模式定义,并将它们传递给 \Raml\Parser
构造函数
导出路由
还可以将整个RAML文件导出为端点的完整数组。例如,考虑一个 基本的RAML,可以使用以下方式返回
$parser = new Raml\Parser(); $api = $parser->parse('test/fixture/simple.raml'); $routes = $api->getResourcesAsUri();
返回
[ GET /songs => ... POST /songs => ... GET /songs/{songId} => ... DELETE /songs/{songId} => ... ] $routes = $api->getResourcesAsUri(new Raml\RouteFormatter\NoRouteFormatter());
路由格式化程序
此包包含两个路由格式化程序
NoRouteFormatter
不做任何事情,只是简单地回显结果SymfonyRouteFormatter
将路由添加到SymfonyRouteCollection
贡献
./vendor/bin/phpunit ./vendor/bin/phpunit --coverage-text ./vendor/bin/phpcs --standard=PSR1,PSR2 src
待办事项
- 文档/Markdown解析器
- 日期表示法?
- 解析提供的URL上的RAML
支持(我相信)
- 包括
- .yml/.yaml
- .raml/.rml
- .json(使用json-schema解析)
- 显示名称
- 特质
- 资源类型