0 follower

Final Class Yiisoft\Data\Reader\Iterable\FilterHandler\OrXHandler

InheritanceYiisoft\Data\Reader\Iterable\FilterHandler\OrXHandler
ImplementsYiisoft\Data\Reader\Iterable\IterableFilterHandlerInterface

OrX iterable filter handler allows combining multiple sub-filters.

The filter matches if any of the sub-filters match.

Method Details

Hide inherited methods

getFilterClass() public method

public string getFilterClass ( )

                public function getFilterClass(): string
{
    return OrX::class;
}

            
match() public method

public boolean match ( object|array $item, Yiisoft\Data\Reader\FilterInterface $filter, Yiisoft\Data\Reader\Iterable\Context $context )
$item object|array
$filter Yiisoft\Data\Reader\FilterInterface
$context Yiisoft\Data\Reader\Iterable\Context

                public function match(object|array $item, FilterInterface $filter, Context $context): bool
{
    /** @var OrX $filter */
    foreach ($filter->filters as $subFilter) {
        $filterHandler = $context->getFilterHandler($subFilter::class);
        if ($filterHandler->match($item, $subFilter, $context)) {
            return true;
        }
    }
    return false;
}