anexia/param-parser

解析任意字符串中的参数占位符

1.0.1 2022-05-04 13:53 UTC

This package is auto-updated.

Last update: 2024-09-21 19:27:04 UTC


README

PHP version Test status Codecov

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

支持版本

开发者列表