prettus / php-fiql-parser
FIQL Parser
dev-main
2021-10-14 03:41 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.2
- pestphp/pest: ^1.20
- pestphp/pest-plugin-watch: dev-master
This package is auto-updated.
Last update: 2024-11-14 16:48:25 UTC
README
A PHP parser for the Feed Item Query Language (FIQL).
Installation
composer require prettus/php-fiql-parser
Using Parser
use \Prettus\FIQLParser\Parser; use \Prettus\FIQLParser\Expression; use \Prettus\FIQLParser\Exceptions\FiqlException; $expression = Parser::fromString('last_name==foo*,(age=lt=55;age=gt=5)'); print_r($expression->toArray()); print_r($expression->toJson()); /** * Output of toJson() * * {"or":[["last_name","==","foo*"],{"and":[["age","<","55"],["age",">","5"]]}]} */ /** * Output of toArray() * * [ * 'or' => [ * ['last_name', '==', 'foo*'], * [ * 'and' => [ * ['age', '<', 55], * ['age', '>', 5], * ] * ] * ] * ] * /
Using Builder
use \Prettus\FIQLParser\Expression; use \Prettus\FIQLParser\Constraint; use \Prettus\FIQLParser\Operator; use \Prettus\FIQLParser\Exceptions\FiqlException; $expression = new Expression(); $expression->addElement(new Constraint('last_name', '==', 'foo*')); $expression->addElement(new Operator(',')); $subExpression = new Expression(); $subExpression->addElement(new Constraint('age', '=lt=', '55')); $subExpression->addElement(new Operator(';')); $subExpression->addElement(new Constraint('age', '=gt=', '5')); $expression->addElement($subExpression); print_r(strval($expression)); // last_name==foo*,age=lt=55;age=gt=5
Credits
This project is completely inspired by python fiql-parser