Introduction
condition-builder is a library help you build condition code snippet like
(new Test())->check1() && (new Test())->check2()
Install
composer require bytehello/condition-builder
Usage
use ByteHelloConditionBuilderBuilder;
use ByteHelloConditionBuilderConditionAndConditionGroup;
use ByteHelloConditionBuilderConditionOrConditionGroup;
use ByteHelloConditionBuilderConditionConfigConfigData;
require 'vendor/autoload.php';
$andConditionG1 = new AndConditionGroup();
$andConditionG1->addMultiple(
[
new ConfigData('Test', 'check1'),
new ConfigData('Test', 'check2'),
]
);
$orConditionG1 = new OrConditionGroup();
$orConditionG1->addMultiple(
[
new ConfigData('Test', 'check3'),
$andConditionG1
]
);
$andConditionG2 = new AndConditionGroup();
$andConditionG2->addMultiple([
new ConfigData('Test', 'check4'),
new ConfigData('Test', 'check5'),
$orConditionG1
]);
$node = Builder::generateCode($andConditionG2);
echo Builder::getPrintedStatements($node);
echo PHP_EOL;
output is
(new Test())->check4() && ((new Test())->check5() && ((new Test())->check3() || (new Test())->check1() && (new Test())->check2()))
License
The bytehello/condition-builder is open-source software licensed under the MIT license.
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。