theluk/php-condition-resolver

此包最新版本(v0.1.0)没有提供许可信息。

一个小型辅助工具,用于定义条件和将它们与某些数据进行匹配

v0.1.0 2016-06-09 15:58 UTC

This package is not auto-updated.

Last update: 2024-09-23 12:35:39 UTC


README

一个小型辅助工具,用于定义条件和将它们与某些数据进行匹配

用法

一个条件解析器,可以使用一些数据数组和条件数组来确定数据数组是否与条件匹配。

一个典型的单个条件看起来像

array(
    "cmp" => "==",
    "left" => "value1",
    "right" => "value2"
)

作为“左”和“右”键,您可以使用路径语法,它会尝试从主数据对象中获取数据。

"left" => "My.Object.some_value"
"right" => "something"

$this->setConditions() 方法期望一个包含多个条件数组的数组

array(
    array( "cmp" => ... ),
    array( "cmp" => ... )
)

您还可以使用两个运算符 "or" 和 "and"。

array(
    array("or" => array(
        array( "cmp" => ... ),
        array( "cmp" => ... )
    ))
) 

运算符也可以嵌套,唯一重要的是,运算符语法期望数组必须包含一个键,该键是 "or" 或 "and",而值是条件列表。

另一个应该可以工作的示例

array(
    "or" => array(
        array(
            "and" => array(
                array( condition )
                array( condition )
                array(
                    "or" => array(
                     array ( ... )
                    )
                )
            )
        )
    )
)

测试

运行

phpunit ./src/ConditionResolverTest.php