pallares / query-syntax
该软件包的最新版本(1.0.1)没有可用的许可证信息。
1.0.1
2017-07-09 22:15 UTC
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: 2024-09-05 04:35:26 UTC
README
该软件包允许您将类似Algolia的查询解析成AST(抽象语法树)。
安装
composer require pallares/query-syntax
使用示例
$query = 'director:"Steven Spielberg" AND (category:"sci-fi" OR category:terror)'; $lexer = new Pallares\QuerySyntax\Lexer($query); $ast = (new Pallares\QuerySyntax\Parser)->parse($lexer);
AST看起来像这样
$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'], ], ] ], ];