PHP Класс Neomerx\JsonApi\Encoder\Parser\Parser

Parser helps to filter resource attributes at the moment of their creation. ^^^^ This is 'sparse' JSON API feature and 'fields set' feature (for attributes) Parser does not decide if particular resource or its relationships are actually added to final JSON document. Parsing reply interpreter does this job. Parser interpreter might not include some intermediate resources that parser has found while reaching targets. ^^^^ This is 'sparse' JSON API feature again and 'fields set' feature (for relationships) The final JSON view of an element is chosen by document which uses settings to decide if 'self', 'meta', and other members should be rendered. ^^^^ This is generic JSON API features Once again, it basically works this way: - Parser finds all targeted relationships and outputs them with all intermediate results (looks like a tree). Resource attributes are already filtered. - Reply interpreter filters intermediate results and resource relationships and then send it to document. - The document is just a renderer which saves the input data in one of a few variations depending on settings. - When all data are parsed the document converts collected data to json.
Наследование: implements Neomerx\JsonApi\Contracts\Encoder\Parser\ParserInterface
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
$container Neomerx\JsonApi\Contracts\Schema\ContainerInterface
$manager Neomerx\JsonApi\Contracts\Encoder\Parser\ParserManagerInterface
$parserFactory Neomerx\JsonApi\Contracts\Encoder\Parser\ParserFactoryInterface
$schemaFactory Neomerx\JsonApi\Contracts\Schema\SchemaFactoryInterface
$stack Neomerx\JsonApi\Contracts\Encoder\Stack\StackInterface
$stackFactory Neomerx\JsonApi\Contracts\Encoder\Stack\StackFactoryInterface

Открытые методы

Метод Описание
__construct ( Neomerx\JsonApi\Contracts\Encoder\Parser\ParserFactoryInterface $parserFactory, Neomerx\JsonApi\Contracts\Encoder\Stack\StackFactoryInterface $stackFactory, Neomerx\JsonApi\Contracts\Schema\SchemaFactoryInterface $schemaFactory, Neomerx\JsonApi\Contracts\Schema\ContainerInterface $container, Neomerx\JsonApi\Contracts\Encoder\Parser\ParserManagerInterface $manager )
parse ( $data )

Защищенные методы

Метод Описание
analyzeCurrentData ( ) : array
analyzeData ( array | null | object $data ) : array
getCurrentData ( ) : array | null | object

Приватные методы

Метод Описание
checkCircular ( Neomerx\JsonApi\Contracts\Schema\ResourceObjectInterface $resourceObject ) : boolean
createReplyForEmptyData ( array | null $data ) : Neomerx\JsonApi\Contracts\Encoder\Parser\ParserReplyInterface
createReplyResourceCompleted ( ) : Neomerx\JsonApi\Contracts\Encoder\Parser\ParserReplyInterface
createReplyResourceStarted ( ) : Neomerx\JsonApi\Contracts\Encoder\Parser\ParserReplyInterface
getFieldSet ( string $resourceType ) : array
getIncludeRelationships ( ) : string[]
getSchema ( mixed $resource, Neomerx\JsonApi\Contracts\Encoder\Stack\StackFrameReadOnlyInterface $frame ) : Neomerx\JsonApi\Contracts\Schema\SchemaProviderInterface
isRelationshipIncludedOrInFieldSet ( ) : boolean
parseData ( ) : Iterator
shouldParseRelationships ( ) : boolean

Описание методов

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

public __construct ( Neomerx\JsonApi\Contracts\Encoder\Parser\ParserFactoryInterface $parserFactory, Neomerx\JsonApi\Contracts\Encoder\Stack\StackFactoryInterface $stackFactory, Neomerx\JsonApi\Contracts\Schema\SchemaFactoryInterface $schemaFactory, Neomerx\JsonApi\Contracts\Schema\ContainerInterface $container, Neomerx\JsonApi\Contracts\Encoder\Parser\ParserManagerInterface $manager )
$parserFactory Neomerx\JsonApi\Contracts\Encoder\Parser\ParserFactoryInterface
$stackFactory Neomerx\JsonApi\Contracts\Encoder\Stack\StackFactoryInterface
$schemaFactory Neomerx\JsonApi\Contracts\Schema\SchemaFactoryInterface
$container Neomerx\JsonApi\Contracts\Schema\ContainerInterface
$manager Neomerx\JsonApi\Contracts\Encoder\Parser\ParserManagerInterface

analyzeCurrentData() защищенный Метод

protected analyzeCurrentData ( ) : array
Результат array

analyzeData() защищенный Метод

protected analyzeData ( array | null | object $data ) : array
$data array | null | object
Результат array

getCurrentData() защищенный Метод

protected getCurrentData ( ) : array | null | object
Результат array | null | object

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

public parse ( $data )

Описание свойств

$container защищенное свойство

protected ContainerInterface,Neomerx\JsonApi\Contracts\Schema $container
Результат Neomerx\JsonApi\Contracts\Schema\ContainerInterface

$manager защищенное свойство

protected ParserManagerInterface,Neomerx\JsonApi\Contracts\Encoder\Parser $manager
Результат Neomerx\JsonApi\Contracts\Encoder\Parser\ParserManagerInterface

$parserFactory защищенное свойство

protected ParserFactoryInterface,Neomerx\JsonApi\Contracts\Encoder\Parser $parserFactory
Результат Neomerx\JsonApi\Contracts\Encoder\Parser\ParserFactoryInterface

$schemaFactory защищенное свойство

protected SchemaFactoryInterface,Neomerx\JsonApi\Contracts\Schema $schemaFactory
Результат Neomerx\JsonApi\Contracts\Schema\SchemaFactoryInterface

$stack защищенное свойство

protected StackInterface,Neomerx\JsonApi\Contracts\Encoder\Stack $stack
Результат Neomerx\JsonApi\Contracts\Encoder\Stack\StackInterface

$stackFactory защищенное свойство

protected StackFactoryInterface,Neomerx\JsonApi\Contracts\Encoder\Stack $stackFactory
Результат Neomerx\JsonApi\Contracts\Encoder\Stack\StackFactoryInterface