jojo1981 / decoder-aggregate
解码器聚合库
2.0.0
2021-09-06 15:48 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- symfony/yaml: ^4.0|^5.2
Requires (Dev)
- dg/bypass-finals: ^1.3
- php-coveralls/php-coveralls: ^2.2
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-09-06 23:10:58 UTC
README
作者:Joost Nijhuis <jnijhuis81@gmail.com>
这个库将提供一个解码器/编码器提供者,包括一些默认的编码器/解码器,用于json
和yaml
。
安装
库
git clone https://github.com/jojo1981/decoder-aggregate.git
Composer
composer require jojo1981/decoder-aggregate
基本用法
<?php use Jojo1981\DecoderAggregate\Factory\EncoderDecoderProviderFactory; require 'vendor/autoload.php'; $encoderDecoderProviderFactory = new EncoderDecoderProviderFactory(); $encoderDecoderProviderFactory->addDefaultEncoders(); $encoderDecoderProviderFactory->addDefaultENcoders(); $encoderDecoderProvider = $encoderDecoderProviderFactory->getEncoderDecoderProvider(); $jsonResult = $encoderDecoderProvider->getDecoder('json')->decode(<<<JSON { "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList": { "GlossEntry": { "ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": { "para": "A meta-markup language, used to create markup languages such as DocBook.", "GlossSeeAlso": [ "GML", "XML" ] }, "GlossSee": "markup" } } } } } JSON ); $yamlResult = $encoderDecoderProvider->getDecoder('yaml')->decode(<<<YAML glossary: title: example glossary GlossDiv: title: S GlossList: GlossEntry: ID: SGML SortAs: SGML GlossTerm: Standard Generalized Markup Language Acronym: SGML Abbrev: ISO 8879:1986 GlossDef: para: A meta-markup language, used to create markup languages such as DocBook. GlossSeeAlso: - GML - XML GlossSee: markup YAML );