mirror of
https://github.com/anthonyaxenov/atol-online.git
synced 2024-11-24 19:24:08 +00:00
1.7 KiB
1.7 KiB
Сущность
Сущностями являются все классы, которые необходимы для взаимодействия с API.
Они находятся в директори src/Entities
и расширяют абстрактный класс AtolOnline\Entities\Entity
.
Каждая сущность содержит в себе только те данные, которые необходимы согласно схемы API АТОЛ Онлайн.
Ниже перечислены возможности сущностей.
Приведение к строке JSON
echo $entity;
$json_string = (string)$entity;
Приведение к массиву
// результат идентичен
$json_array1 = $entity->jsonSerialize();
$json_array2 = $entity->toArray();
Чтение из массива
$var = new \AtolOnline\Entities\Client('Иванов Иван');
echo $var['name']; // 'Иванов Иван'
$var['name'] = 'Петров Пётр'; // BadMethodCallException
Fluent-сеттеры
Реализованы на уровне конкретных классов сущностей, но у некоторых могут полностью отсуствовать.
$entity->setFoo($value)->setBar('bar')->...
Сеттеры валидируют и фильтруют данные согласно схеме АТОЛ Онлайн API, а в случае ошибочных значений -- выбрасывают исключения.
Читай также: Коллекция сущностей