mapado / request-fields-parser
将类似于 `id,firstname,lastname,jobs{startDate,position,company{id,recordNumber}}` 的字符串转换为数组
v3.1.0
2023-12-08 13:56 UTC
Requires
- php: ^8.1
- doctrine/lexer: ^2.0 || ^3.0
Requires (Dev)
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.3
README
将类似于 id,firstname,lastname,jobs{startDate,position,company{id,recordNumber}}
的字符串转换为以下数组
[ 'id' => true, 'firstname' => true, 'lastname' => true, 'jobs' => [ 'startDate' => true, 'position' => true, 'company' => [ 'id' => true, 'recordNumber' => true, ], ] ]
你可以把它想象成是 explode 的加强版。
还实现了一个 reverseParse
函数,用于执行相反的转换。
安装
composer require mapado/request-fields-parser
使用方法
use Mapado\RequestFieldsParser\Parser; $parser = new Parser(); $outArray = $parser->parse($string); $outString = $parser->reverseParse($array);
可扩展性
你可以这样装饰解析器
use Mapado\RequestFieldsParser\ParserInterface; class ExtendedParser implements ParserInterface { /** * @var ParserInterface */ private $decoratedParser; public function __construct(ParserInterface $decoratedParser) { $this->decoratedParser = $decoratedParser; } public function parse(string $string): array { // do stuff and return an array } }
贡献
只需运行 make test
来启动测试套件