cozylife / php-raml-parser
PHP编写的RAML解析器
1.0.0
2015-03-26 06:40 UTC
Requires
- justinrainbow/json-schema: @dev
- oodle/inflect: 0.2.0
- symfony/routing: ~2.5
- symfony/yaml: ~2.5
Requires (Dev)
- phpunit/phpunit: 4.*
- satooshi/php-coveralls: ~0.6
- squizlabs/php_codesniffer: @dev
This package is not auto-updated.
Last update: 2024-09-28 18:23:53 UTC
README
将RAML文件解析为PHP对象。
在此处查看RAML规范:https://github.com/raml-org/raml-spec
此分支的差异
PHP RAML解析器的原始版本将每个安全调用的调用数据与主请求合并。这在请求OAuth令牌等情况下会带来不必要的开销,并可能产生意外的副作用。此分支通过保持所有调用独立来解决这个问题。
了解更多关于为什么在基于API建模语言进行调用时此更改至关重要。
开始使用
要求
- composer (请参阅 https://composer.php.ac.cn)
composer install --dev
./vendor/bin/phpunit test
$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解析)
- 显示名称
- 特质
- 资源类型