anripuankare / atol-client
ATOL API v3/v4 client for php
1.6.0
2022-03-15 16:16 UTC
Requires
- php: ^8.1
- doctrine/annotations: ^1.7
- doctrine/cache: ^1.6
- guzzlehttp/guzzle: ^7.3.0
- jms/serializer: ^3.4
- paillechat/php-enum: ~1.1.0
- symfony/validator: ^4.0 || ^5.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.11
- phpunit/phpunit: ^8.5
README
ATOL API v3/v4 client for PHP
Installation
Usage is as simple as
-
Install library
composer require anripuankare/atol-client
-
Better to use this library with symfony: https://github.com/lamoda/atol-client-bundle
-
But you can configure it manually (you will probably need some factory:
<?php declare(strict_types=1); namespace Lamoda\AtolClient\Tests\Helper; use GuzzleHttp\ClientInterface; use JMS\Serializer\Serializer; use Lamoda\AtolClient\Converter\ObjectConverter; use Lamoda\AtolClient\V3\AtolApi as AtolApiV3; use Lamoda\AtolClient\V4\AtolApi as AtolApiV4; use Symfony\Component\Validator\Validation; use Symfony\Component\Validator\Validator\ValidatorInterface; final class AtolApiFactory { /** * @deprecated */ public static function createV3( ClientInterface $client, array $options, string $baseUrl, string $groupCode ): AtolApiV3 { $objectConvertor = new ObjectConverter( self::createSerializer(), self::createValidator() ); return new AtolApiV3( $objectConvertor, $client, $options, $baseUrl, $groupCode ); } public static function createV4( ClientInterface $client, array $options, string $baseUrl ): AtolApiV4 { $objectConvertor = new ObjectConverter( self::createSerializer(), self::createValidator() ); return new AtolApiV4( $objectConvertor, $client, $options, $baseUrl ); } private static function createSerializer(): Serializer { return SerializerBuilder::create()->build(); } private static function createValidator(): ValidatorInterface { return Validation::createValidatorBuilder() ->enableAnnotationMapping() ->getValidator(); } }