Skip to content

KirsanKifat/symfony_api_service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Service

Абстрактный класс имеющий базовые методы get getIn create edit delete

Методы get, getIn, create, edit, имеют параметры:

- array|object|doctrineEntityObject $params массив, либо объект со свойствами являющимися фильтрами для поиска|параметрами для создания|изменения (doctrineEntityObject - сущности для работы с базой данных создаваемые doctrine)
- string $returnType тип возвращаемого объекта, по умолчанию возвращает entityName объект
для создания объекта со связью ManyToMany можно передать массив id связываемой сущности, либо массив сущностей, так же можно для создания|изменения сущности передать id объекта в связях OneToOne|ManyToOne|OneToMany

При наслоедованнии от абстрактного класса Service необходимо объявить конструктор класса, который имеет следующие параметры:

- EntityManagerInterface $em
- LoggerInterface $logger
- string $entityName - класс entity сервисом которого является данный класс (этот параметр необходимо переопределить в конструкторе класса)
- array|null $uniqueParams - массив имен параметров которые являются уникальными, чья уникальность будет проверяться при использовании методов create и edit (возвращает ошибку ValidationUniqueException), (этот параметр необходимо переопределить в конструкторе класса)

ObjectSerializer

Сериализатор использующий в своей основе jsm serializer, фиксит такие проблемы его как:

Невозможность десериализовать объект с неинициализированными свойствами

Имеет гибкую модель установки null значения в результат выполнения методов

Так же имеет метод обновления одного объекта из другого не конвертируя в массив и обратно (полезно для сущностей Doctrine)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages