0 follower

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

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

AndX iterable filter handler allows combining multiple sub-filters.

The filter matches only if all the sub-filters match.

Method Details

Hide inherited methods

getFilterClass() public method

public string getFilterClass ( )

                public function getFilterClass(): string
{
    return AndX::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 AndX $filter */
    foreach ($filter->filters as $subFilter) {
        $filterHandler = $context->getFilterHandler($subFilter::class);
        if (!$filterHandler->match($item, $subFilter, $context)) {
            return false;
        }
    }
    return true;
}