shaggy8871/php-rx

Rx模式及验证系统

1.0.4 2019-06-09 11:14 UTC

This package is auto-updated.

Last update: 2024-09-09 23:15:34 UTC


README

Author Software License

PHP实现的Rx验证库

基于https://github.com/rjbs/Rx,并借鉴了https://blog.picnic.nl/how-to-use-yaml-schema-to-validate-your-yaml-files-c82c049c2097中的想法

什么是Rx?

当向您的网络服务添加API时,您必须选择如何编码您要发送的数据。XML是这种情况下的一种常见选择,但它可以迅速变得晦涩和笨重。许多网络服务作者希望避免考虑XML,而是选择提供一些简单数据类型的格式,这些类型与现代编程语言中的常见数据结构相对应。换句话说,JSON和YAML。

不幸的是,虽然这些格式使得传递复杂数据结构变得容易,但它们缺乏验证系统。XML有XML模式(XML Schema)和RELAX NG,但这些标准复杂且有时令人困惑。它们不太适用于JSON提供的数据结构,如果您想避免作为数据编码的XML,那么再写更多XML来验证第一个XML可能就更不令人感兴趣了。

Rx旨在提供一个与JSON样式数据结构相匹配且与JSON本身一样易于使用的数据验证系统。

安装

composer require shaggy8871/php-rx

文档

查看文档

用法

  • 创建一个模式文件
  • 运行./vendor/bin/rx <yaml/json> <schema> ["<glob of custom types>"]
  • 务必引用自定义类型glob!

例如,./vendor/bin/rx test.yml schema.yml "types/*.yml"