Eloquent\Phony\Matcher\MatcherVerifier::matches PHP Метод

matches() публичный Метод

Verify that the supplied arguments match the supplied matchers.
public matches ( array $matchers, array $arguments ) : boolean
$matchers array
$arguments array The arguments.
Результат boolean True if the arguments match.
    public function matches(array $matchers, array $arguments)
    {
        $pair = each($arguments);
        foreach ($matchers as $matcher) {
            if ($matcher instanceof WildcardMatcher) {
                $matchCount = 0;
                $innerMatcher = $matcher->matcher();
                while (!empty($pair) && $innerMatcher->matches($pair[1])) {
                    ++$matchCount;
                    $pair = each($arguments);
                }
                $maximumArguments = $matcher->maximumArguments();
                $isMatch = (null === $maximumArguments || $matchCount <= $maximumArguments) && $matchCount >= $matcher->minimumArguments();
                if (!$isMatch) {
                    return false;
                }
                continue;
            }
            if (empty($pair) || !$matcher->matches($pair[1])) {
                return false;
            } else {
                $pair = each($arguments);
            }
        }
        return false === $pair;
    }