2021-12-19 14:30:21 +00:00
|
|
|
|
# Сущность
|
|
|
|
|
|
|
|
|
|
[Вернуться к содержанию](readme.md#toc)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2022-12-15 01:34:57 +00:00
|
|
|
|
Сущностями являются все классы, которые необходимы для взаимодействия с API.
|
|
|
|
|
Они находятся в директори `src/Entities` и расширяют абстрактный класс `AtolOnline\Entities\Entity`.
|
2021-12-19 14:30:21 +00:00
|
|
|
|
|
2022-12-15 01:34:57 +00:00
|
|
|
|
Каждая сущность содержит в себе только те данные, которые необходимы согласно схемы API АТОЛ Онлайн.
|
2021-12-19 14:30:21 +00:00
|
|
|
|
|
|
|
|
|
Ниже перечислены возможности сущностей.
|
|
|
|
|
|
|
|
|
|
## Приведение к строке JSON
|
|
|
|
|
|
|
|
|
|
```php
|
|
|
|
|
echo $entity;
|
|
|
|
|
$json_string = (string)$entity;
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Приведение к массиву
|
|
|
|
|
|
|
|
|
|
```php
|
|
|
|
|
// результат идентичен
|
|
|
|
|
$json_array1 = $entity->jsonSerialize();
|
|
|
|
|
$json_array2 = $entity->toArray();
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Чтение из массива
|
|
|
|
|
|
|
|
|
|
```php
|
|
|
|
|
$var = new \AtolOnline\Entities\Client('Иванов Иван');
|
|
|
|
|
echo $var['name']; // 'Иванов Иван'
|
|
|
|
|
$var['name'] = 'Петров Пётр'; // BadMethodCallException
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Fluent-сеттеры
|
|
|
|
|
|
|
|
|
|
Реализованы на уровне конкретных классов сущностей, но у некоторых могут полностью отсуствовать.
|
|
|
|
|
|
|
|
|
|
```php
|
|
|
|
|
$entity->setFoo($value)->setBar('bar')->...
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Сеттеры валидируют и фильтруют данные согласно схеме АТОЛ Онлайн API, а в случае ошибочных значений -- выбрасывают
|
|
|
|
|
исключения.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
Читай также: [Коллекция сущностей](collection.md)
|
|
|
|
|
|
|
|
|
|
[Вернуться к содержанию](readme.md#toc)
|