Neomerx\JsonApi\Factories\Factory::createEncoder PHP Method

createEncoder() public method

public createEncoder ( Neomerx\JsonApi\Contracts\Schema\ContainerInterface $container, Neomerx\JsonApi\Encoder\EncoderOptions $encoderOptions = null )
$container Neomerx\JsonApi\Contracts\Schema\ContainerInterface
$encoderOptions Neomerx\JsonApi\Encoder\EncoderOptions
    public function createEncoder(ContainerInterface $container, EncoderOptions $encoderOptions = null)
    {
        $encoder = new Encoder($this, $container, $encoderOptions);
        $encoder->setLogger($this->logger);
        return $encoder;
    }

Usage Example

 protected function setUp()
 {
     $factory = new Factory();
     $urlPrefix = 'https://www.example.tld/api/v1';
     $schemas = $factory->createContainer(['Author' => 'AuthorSchema']);
     $this->encoderA = $factory->createEncoder($schemas, new EncoderOptions(0, $urlPrefix));
     $this->encoderB = $factory->createEncoder($schemas, new EncoderOptions(JSON_BIGINT_AS_STRING, $urlPrefix));
     $this->encoderC = $factory->createEncoder($schemas, new EncoderOptions(JSON_PRETTY_PRINT, $urlPrefix, 123));
     $this->decoderA = new DocumentDecoder();
     $this->decoderB = new ArrayDecoder();
     $this->repository = new CodecMatcherRepository($factory);
     $this->repository->registerSchemas($schemas)->registerUrlPrefix($urlPrefix);
     $this->repository->configure($this->config);
 }