Skip to content
This repository has been archived by the owner on Aug 1, 2023. It is now read-only.

Response transformer plugin for Wrike PHP Library API V3 & V4

License

Notifications You must be signed in to change notification settings

zibios/wrike-php-jmsserializer

Repository files navigation

Wrike PHP JMSSERIALIZER - Wrike API V3 & V4

Introduction

This is response transformer plugin for Wrike PHP Library.

Versions

Major Version Wrike API PHP Compatibility Initial release Support
V2 V4 PHP 7.1, PHP 7.2, TBD October, 2018 TBD
V1 V3 PHP 5.5, PHP 5.6, PHP 7.0, PHP 7.1 February, 2018 Support ends on February, 2019

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 zibios/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 [email protected]:zibios/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 \Zibios\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.