wedocreatives/wrike-php-jmsserializer

Response transformer adapter for Wrike PHP Library, based on JMS Serializer package.

v2.0.0 2019-07-03 11:01 UTC

This package is auto-updated.

Last update: 2024-10-29 05:17:01 UTC


README

Introduction

This is response transformer plugin for Wrike PHP Library.

Versions

Project status

General

Packagist License Packagist Downloads Packagist Version Packagist Version Libraries.io

CII Best Practices SensioLabsInsight Codacy Badge Code Climate Maintainability

Branch 'master'

Scrutinizer Code Quality Scrutinizer Build Status Scrutinizer Code Coverage Travis Build Status StyleCI Coverage Status

Installation

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

$ composer require wedocreatives/wrike-php-jmsserializer "^1.0"

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

Contribution

To try it yourself clone the repository:

git clone git@github.com:wedocreatives/wrike-php-jmsserializer.git
cd wrike-php-jmsserializer

and install dependencies with composer:

composer install

Run PHPUnit tests:

./vendor/bin/phpunit

Usage

All \GuzzleHttp\Client methods plus methods for \wedocreatives\WrikePhpLibrary\Client\ClientInterface.

/**
 * Standard usage
 */
$serializer = SerializerFactory::create(); // \JMS\Serializer\SerializerInterface
$resourceModelTransformer = TransformerFactory::createResourceModelTransformer($serializer);

/**
 * @param ResponseInterface $response
 * @param string            $resourceClass
 *
 * @return ResourceModelInterface
 */
$result = $resourceModelTransformer->transform($response, $resourceClass);

$result => [
    <ResourceModelInterface>,
    <ResourceModelInterface>,
    ...
]
$responseModelTransformer = TransformerFactory::createResponseModelTransformer($serializer);

/**
 * @param ResponseInterface $response
 * @param string            $resourceClass
 *
 * @return ResponseModelInterface
 */
$result = $responseModelTransformer->transform($response, $resourceClass);

$result => ResponseModelInterface {
    kind: <ResponseType>;
    data:
        [
            <ResourceModelInterface>,
            <ResourceModelInterface>,
            ...
        ]
}

Reference

Wrike PHP Library

Wrike PHP SDK

Symfony bundle

License

This bundle is available under the MIT license.