Более или менее актуальная документация
This commit is contained in:
52
docs/entity.md
Normal file
52
docs/entity.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Сущность
|
||||
|
||||
[Вернуться к содержанию](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)
|
||||
Reference in New Issue
Block a user