Repository
is not the correct place for it. As it says in the Symfony documentation, methods containing your query logic can then be stored in Repository
class (http://ift.tt/2f0TzOW).
So, where you should stored Entity
methods like create, update or delete to reuse it in other parts of the code?
For exemple, I want to reuse Product
create logic:
$em = $this->getDoctrine()->getManager();
$product = new Product();
$product->setName('Keyboard');
$em->persist($product);
$em->flush();
I agree with this answer, http://ift.tt/2wVfLyp, to move this logic into a service.
My questions are:
- Should I create a service (
ProductManager
) that contains all three methods (create, update, delete)? Or should I create three different services (ProductCreate
,ProductUpdate
,ProductDelete
) to comply the Single Responsibility Principle? - Should I create a service for each
Entity
(ProductService
,ItemService
, etc.) or should I create a common service (EntityManager
)? - Is there any other better solution?
Aucun commentaire:
Enregistrer un commentaire