eZ\Publish\Core\REST\Server\Input\Parser\ViewInputOneDotOne::parse PHP Method

parse() public method

Parses input structure to a RestViewInput struct.
public parse ( array $data, ParsingDispatcher $parsingDispatcher ) : RestViewInput
$data array
$parsingDispatcher eZ\Publish\Core\REST\Common\Input\ParsingDispatcher
return eZ\Publish\Core\REST\Server\Values\RestViewInput
    public function parse(array $data, ParsingDispatcher $parsingDispatcher)
    {
        $restViewInput = new RestViewInput();
        // identifier
        if (!array_key_exists('identifier', $data)) {
            throw new Exceptions\Parser('Missing <identifier> attribute for <ViewInput>.');
        }
        $restViewInput->identifier = $data['identifier'];
        // query
        if (array_key_exists('ContentQuery', $data) && is_array($data['ContentQuery'])) {
            $queryData = $data['ContentQuery'];
            $queryMediaType = 'application/vnd.ez.api.internal.ContentQuery';
        }
        if (array_key_exists('LocationQuery', $data) && is_array($data['LocationQuery'])) {
            $queryData = $data['LocationQuery'];
            $queryMediaType = 'application/vnd.ez.api.internal.LocationQuery';
        }
        if (!isset($queryMediaType) || !isset($queryData)) {
            throw new Exceptions\Parser('Missing <ContentQuery> or <LocationQuery> attribute for <ViewInput>.');
        }
        $restViewInput->query = $parsingDispatcher->parse($queryData, $queryMediaType);
        return $restViewInput;
    }
ViewInputOneDotOne