<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
gam6itko / spiral-validator-manticore-search example snippets
declare(strict_types=1);
use Gam6itko\Spiral\Validator\ManticoreSearch\ManticoreSearchChecker;
return [
'checkers' => [
// ... the default spiral/validator checkers
'manticore' => ManticoreSearchChecker::class,
],
];
use Gam6itko\Spiral\Validator\ManticoreSearch\ManticoreSearchChecker;
use Spiral\Boot\Bootloader\Bootloader;
use Spiral\Validator\Bootloader\ValidatorBootloader;
final class AppBootloader extends Bootloader
{
public function init(ValidatorBootloader $validator): void
{
$validator->addChecker('manticore', ManticoreSearchChecker::class);
}
}
use Spiral\Filters\Attribute\Input\Query;
use Spiral\Filters\Model\Filter;
use Spiral\Filters\Model\FilterDefinitionInterface;
use Spiral\Filters\Model\HasFilterDefinition;
use Spiral\Validator\FilterDefinition;
final class NewsSearchFilter extends Filter implements HasFilterDefinition
{
#[Query]
public string $search;
public function filterDefinition(): FilterDefinitionInterface
{
return new FilterDefinition([
'search' => [
'string::trim',
['string::length', 256],
// only `title` and `body` may be used with the `@` operator
['manticore::query', ['title', 'body']],
],
]);
}
}
['manticore::query'] // `@whatever word` passes, `@whatever` (no operand) does not