Zend\Mvc\Controller\Plugin\AcceptableViewModelSelector::match PHP Method

match() public method

Detects an appropriate viewmodel name for request.
public match ( array $matchAgainst = null ) : Zend\Http\Header\Accept\FieldValuePart\AbstractFieldValuePart | null
$matchAgainst array (optional) The Array to match against
return Zend\Http\Header\Accept\FieldValuePart\AbstractFieldValuePart | null The object that was matched
    public function match(array $matchAgainst = null)
    {
        $request = $this->getRequest();
        $headers = $request->getHeaders();
        if (!$matchAgainst && !$this->defaultMatchAgainst || !$headers->has('accept')) {
            return;
        }
        if (!$matchAgainst) {
            $matchAgainst = $this->defaultMatchAgainst;
        }
        $matchAgainstString = '';
        foreach ($matchAgainst as $modelName => $modelStrings) {
            foreach ((array) $modelStrings as $modelString) {
                $matchAgainstString .= $this->injectViewModelName($modelString, $modelName);
            }
        }
        /** @var $accept \Zend\Http\Header\Accept */
        $accept = $headers->get('Accept');
        if (($res = $accept->match($matchAgainstString)) === false) {
            return;
        }
        return $res;
    }