rarus / bonus-server-php-sdk
Bonus server PHP SDK
1.3.3
2024-10-02 07:59 UTC
Requires
- php: ^7.2|^8.0
- ext-curl: *
- ext-json: *
- fig/http-message-util: 1.*
- guzzlehttp/guzzle: ^7.0
- moneyphp/money: ^3.0
- monolog/monolog: 2.*
- psr/log: ^1.1|^2.0|^3.0
Requires (Dev)
- php-parallel-lint/php-console-highlighter: ^1.0
- php-parallel-lint/php-parallel-lint: ^1.0
- phpunit/phpunit: ^7.0|^8.0
- vimeo/psalm: ^4.29
- dev-master
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.2-beta
- v1.0.1
- v1.0.1-beta2
- v1.0.1-beta
- v1.0.0.x-dev
- v1.0.0-beta.2
- v1.0.0-beta
- v0.8.2
- v0.8.1.1
- v0.8.1
- v0.8.0
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.0
- 0.5.9
- 0.5.8
- 0.5.7
- 0.5.6
- 0.5.5
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.3.5
- 0.3.4
- 0.3.3
- 0.3.1
- 0.3.0
- 0.1.2
- dev-task+73910-fix-get-by-coupon-id
- dev-task+73910-coupon-hold
- dev-task+72895
- dev-task+69061
- dev-task+69981
- dev-task+69230
- dev-dev
- dev-task+67
- dev-task+64
- dev-task+61
- dev-task+58
- dev-task+55
- dev-task+53
- dev-old-api
This package is not auto-updated.
Last update: 2024-11-14 10:29:44 UTC
README
Архитектура
- Библиотека предоставляет сущности бонусного сервера в виде объектов.
- Обмен данными по сети осуществляется через транспорты, для каждой сущности он свой.
- С клиентским кодом библиотека взаимодействует с помощью DTO-объектов
- Транспорт получает и возвращает DTO-объекты или их коллекции.
Структура сущности
\Entity
\DTO
Entity.php - DTO-объект сущности
EntityCollection - типизированая коллекция объектов сущности, наследуется от \SplObjectStorage
Fabric.php - фабрика сущности
\Transport
\Role
\Organization
Transport.php — класс транспорта сущности для роли организация
Fabric.php - фабрика транспорта сущности
\User
Transport.php — класс транспорта сущности для роли пользователь
Fabric.php - фабрика транспорта сущности
\Formatters
Entity.php - класс, отвечающий за представление сущности в нужном виде, по умолчанию - массив
Иерархия исключений
\Exception
\BonusServerException - корневой тип исключения
\ApiClientException - ошибки, связанные с логикой работы предметной области
\NetworkException - ошибки, связанные с передачей данных по сети и работой сервера
\UnknownException - ошибки, которые не удалось классифицировать и корректно обработать