ttbooking/atol-client

PHP的ATOL API v4客户端。

2.0.1 2024-02-21 14:46 UTC

This package is auto-updated.

Last update: 2024-09-26 12:17:43 UTC


README

PHP的ATOL API v4客户端

https://online.atol.ru/

安装

使用方法非常简单,就像

  1. 安装库

    composer require ttbooking/atol-client
  2. 配置它(你可能需要一些工厂类)

    <?php
    
    declare(strict_types=1);
    
    namespace Lamoda\AtolClient\Tests\Helper;
    
    use GuzzleHttp\ClientInterface;
    use JMS\Serializer\Serializer;
    use JMS\Serializer\SerializerBuilder;
    use Lamoda\AtolClient\Converter\ObjectConverter;
    use Lamoda\AtolClient\V4\AtolApi;
    use Symfony\Component\Validator\Validation;
    use Symfony\Component\Validator\Validator\ValidatorInterface;
    
    final class AtolApiFactory
    {
    	public static function create(
    		ClientInterface $client,
    		array $options,
    		string $baseUrl
    	): AtolApi {
    		$objectConvertor = new ObjectConverter(
    			self::createSerializer(),
    			self::createValidator()
    		);
    
    		return new AtolApi(
    			$objectConvertor,
    			$client,
    			$options,
    			$baseUrl
    		);
    	}
    
    	private static function createSerializer(): Serializer
    	{
    		return SerializerBuilder::create()
                ->enableEnumSupport()
                ->build();
    	}
    
    	private static function createValidator(): ValidatorInterface
    	{
    		return Validation::createValidatorBuilder()
    			->enableAttributeMapping()
    			->getValidator();
    	}
    }