mirror of
https://github.com/anthonyaxenov/atol-online.git
synced 2024-11-25 11:44:11 +00:00
53 lines
1.7 KiB
Markdown
53 lines
1.7 KiB
Markdown
|
# Сущность
|
|||
|
|
|||
|
[Вернуться к содержанию](readme.md#toc)
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
Сущностями являются все классы, которые необходимы для взаимодействия с API. Они находятся в директори `src/Entities` и
|
|||
|
расширяют абстрактный класс `AtolOnline\Entities\Entity`.
|
|||
|
|
|||
|
Каждая сущность содержит в себе только те данные, которые необходимы согласно схемы АТОЛ Онлайн API.
|
|||
|
|
|||
|
Ниже перечислены возможности сущностей.
|
|||
|
|
|||
|
## Приведение к строке 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)
|