anexia / param-parser
解析任意字符串中的参数占位符
1.0.1
2022-05-04 13:53 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: >=7.5
- squizlabs/php_codesniffer: >=3.6
This package is auto-updated.
Last update: 2024-09-21 19:27:04 UTC
README
param-parser
是一个参数字符串表达式的解析库。这些表达式是包含占位符的任意字符串,其中占位符由名称、可选类型和选项列表组成。
安装
在正确设置 PHP 和 composer 安装的情况下,运行
composer require anexia/param-parser
入门
参数字符串表达式的示例如下
this-is-a-{param:string:option1,option2,option3}-expression
this-is-a-{param:string}-expression
this-is-a-{param}-expression
如您所见,参数由一个开括号引入,后跟参数名称、冒号、参数类型、另一个冒号和逗号分隔的选项列表。参数配置由一个闭括号结束。请注意,类型和选项配置是可选的,但名称是必需的。
要解析上述表达式,请使用以下 PHP 代码
<?php use function Anexia\ParamParser\parse; $result = parse('this-is-a-{param:string:option1,option2,option3}-expression'); $result[0]; // Gets a Anexia\ParamParser\Node\SequenceNode instance $result[0]->getSequenceValue(); // Gets "this-is-a-" as a string $result[1]; // Gets a Anexia\ParamParser\Node\ParamNode instance $result[1]->getParamName(); // Gets "param" as a string $result[1]->getParamType(); // Gets "string" as a string $result[1]->getParamOptions(); // Gets ["option1", "option2", "option3"] as an array of strings $result[2]; // Gets a Anexia\ParamParser\Node\SequenceNode instance $result[2]->getSequenceValue(); // Gets "-expression" as a string
还可以按如下方式转义开括号、闭括号、冒号和逗号
<?php use function Anexia\ParamParser\parse; $result = parse('this-is-a-\{param:string:option1,option2,option3\}-expression'); $result[0]; // Gets a Anexia\ParamParser\Node\SequenceNode instance $result[0]->getSequenceValue(); // Gets "this-is-a-{param:string:option1,option2,option3}-expression" as a string
支持版本
开发者列表
- Andreas Stocker AStocker@anexia-it.com,首席开发者