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、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。