1. Go to this page and download the library: Download railken/search-query library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
railken / search-query example snippets
use Railken\SQ\QueryParser;
use Railken\SQ\Resolvers as Resolvers;
$parser = new QueryParser();
$parser->addResolvers([
new Resolvers\ValueResolver(),
new Resolvers\KeyResolver(),
new Resolvers\GroupingResolver(),
new Resolvers\NotEqResolver(),
new Resolvers\EqResolver(),
new Resolvers\LteResolver(),
new Resolvers\LtResolver(),
new Resolvers\GteResolver(),
new Resolvers\GtResolver(),
new Resolvers\CtResolver(),
new Resolvers\SwResolver(),
new Resolvers\NotInResolver(),
new Resolvers\InResolver(),
new Resolvers\EwResolver(),
new Resolvers\NotNullResolver(),
new Resolvers\NullResolver(),
new Resolvers\AndResolver(),
new Resolvers\OrResolver(),
new Resolvers\TextResolver(),
]);
$result = $query->parse('x eq 1 or y > 1');
namespace App\SQ\Resolvers;
use Railken\SQ\Resolvers\ComparisonOperatorResolver;
use App\SQ\Nodes\CustomNode;
class CustomResolver extends ComparisonOperatorResolver
{
/**
* Node resolved
*
* @var string
*/
public $node = CustomNode::class;
/**
* Regex token
*
* @var string
*/
public $regex = [
'/(?<![^\s])custom(?![^\s])/i',
];
}
namespace App\SQ\Nodes;
use Railken\SQ\Nodes\ComparisonOperatorNode;
class CustomNode extends ComparisonOperatorNode
{
/**
* Value
*
* @var string
*/
public $value = 'CUSTOM';
}
$parser->addResolvers([
new \App\SQ\Resolvers\CustomResolver(),
});
namespace App\SQ\Resolvers;
use Railken\SQ\Contracts\ResolverContract;
use Railken\SQ\Contracts\NodeContract;
class CustomResolver implements ResolverContract
{
/**
* Resolve node
*
* @param NodeContract $node
*
* @return NodeContract
*/
public function resolve(NodeContract $node)
{
return $node;
}
}
use Railken\SQ\Languages\BoomTree\Resolvers;
use Railken\SQ\Languages\BoomTree\Nodes;
$parser->addResolvers([
new Resolvers\CustomResolver(function ($node) {
if($node instanceof Nodes\KeyNode) {
$node->setValue("myCustomPrefix.".$node->getValue());
}
}),
]);
"An apple"
30.20
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.