raml-org / raml-php-parser
此包已 废弃 且不再维护。未建议替代包。
一个用 PHP 编写的 RAML 解析器
v4.8.1
2022-05-10 15:58 UTC
Requires
- php: ^7.3|^8.0
- ext-dom: *
- ext-json: *
- ext-pcre: *
- justinrainbow/json-schema: ^5.0
- oodle/inflect: ^0.2
- psr/http-message: ^1.0
- symfony/routing: ^3.0|^4.0|^5.0|^v6.0
- symfony/yaml: ^3.0|^4.0|^5.0
- willdurand/negotiation: ^2.2.1|^3
Requires (Dev)
- friendsofphp/php-cs-fixer: *
- php-coveralls/php-coveralls: ^2.1
- phpstan/phpstan: ^0.12
- phpstan/phpstan-phpunit: ^0.12.16
- phpunit/phpunit: ^9.0
- slam/phpstan-extensions: ^5.0
Replaces
- dev-master
- v4.8.1
- v4.8.0
- v4.7.0
- v4.6.1
- v4.6.0
- v4.5.1
- v4.5.0
- v4.4.0
- v4.3.2
- v4.3.1
- v4.3.0
- 4.2.0
- 4.1.0
- 4.0.0
- 3.0.1
- 3.0.0
- v2.x-dev
- v2.3.5
- 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
- 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
This package is not auto-updated.
Last update: 2023-03-15 10:54:21 UTC
README
查看 RAML 规范。
RAML 0.8 支持
为了支持 RAML 0.8,请使用版本 2。
RAML 1.0 支持
为了支持 RAML 1.0,请使用版本 3 或更高版本。RAML 1.0 的支持仍在进行中。
已完成的工作和应正常工作
- RAML 1.0 的部分 类型表达式
- 枚举
- 联合类型表达式("or"
|
操作符) - 类型数组
discriminator
和discriminatorValue
面板- 特质继承
待实现
入门
要求
- composer(请参阅 https://getcomposer.org.cn)
composer require raml-org/raml-php-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('tests/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
贡献
composer run-static-analysis composer check-code-style composer run-tests