Witam,
na większości stronach internetowych z fragmentami kodu źródłowego, Entity jest załączony do kontrolera, np.
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use AppBundle\Entity\Dzierzawca;
Część operacji Read (select) i Remove (delete) umieszcza się w EntityRepository, czyli do innego pliku, natomiast dołączanie Entity do kontrolera powoduje że wszystkie operacje związane z Create i Update umieszczane są w kontrolerze... (może się mylę)
Z jakiego wzorca projektowego powinienem skorzystać, żeby operacje na encjach były w osobnym (osobnych) plikach? Jak "przenieść" logikę biznesową (czy też CU - create update) poza kontrolery? Dodam, że poza "grubym" (nieczytelnym) kontrolerem problem pojawia się, gdy muszę pisać podobne funkcje do różnych kontrolerów...
Przykładowy fragment kontrolera (który chciałbym umieścić w osobnym pliku):
public function addNewAdres($idDzierzawcy,$ulica, $mieszkanie, $kodPocztowy, $miasto)
{
$emt = $this->getDoctrine()->getEntityManager();
$dzierzawca = $emt->getRepository('AppBundle:dzierzawca')->find($idDzierzawcy);
$newAdres = new Adres();
$newAdres->ulica = $ulica;
$newAdres->mieszkanie = $mieszkanie;
$newAdres->kodPocztowy = $kodPocztowy;
$newAdres->miasto = $miasto;
$newAdres->dzierzawca = $dzierzawca;
$em = $this->getDoctrine()->getManager();
$em->persist($newAdres);
$em->flush();
return $newAdres->getIdAdresu();
}
... mam nadzieję, że opisałem problem czytelnie... z góry dziękuję za wszelkie wskazówki...