pallares / query-syntax
Installs: 3 002
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 0
Open Issues: 3
Requires
- php: ^5.5.9 || ^7.0
- illuminate/support: ^5.2
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2025-02-05 05:32:13 UTC
README
This package allows you to parse Algolia-like queries into sort of a AST.
Installation
composer require pallares/query-syntax
Usage example
$query = 'director:"Steven Spielberg" AND (category:"sci-fi" OR category:terror)'; $lexer = new Pallares\QuerySyntax\Lexer($query); $ast = (new Pallares\QuerySyntax\Parser)->parse($lexer);
The AST looks like this:
$ast === [ 'operator' => 'and', 'children' => [ ['operator' => 'comparison', 'key' => 'director', 'value' => 'Steven Spielberg'], [ 'operator' => 'or', 'children' => [ ['operator' => 'comparison', 'key' => 'category', 'value' => 'sci-fi'], ['operator' => 'comparison', 'key' => 'category', 'value' => 'terror'], ], ] ], ];