Sf2 : using a service inside an entity

я знаю, что об этом спрашивали снова и снова, я читаю темы, но всегда фокусируюсь на конкретных случаях, и обычно стараюсь понять, почему не рекомендуется использовать сервис внутри сущности.

Учитывая очень простой сервис:

Class Age
{
  private $date1;
  private $date2;
  private $format;

  const ym = "%y years and %m month"
  const ...


  // some DateTime()->diff() methods, checking, formating the entry formats, returning different period formats for eg.
  }

и простой объект:

Class People
{
  private $firstname;
  private $lastname;
  private $birthday;

  }

Из контроллера я хочу сделать:

$som1 = new People('Paul', 'Smith', '1970-01-01');
$som1->getAge();

Конечно, я могу переписатьgetAge() функция внутри моей сущности, она не длинная, но я очень ленивый, и, поскольку я уже написал все возможные datetime-> diff (), которые мне нужны в вышеуказанном сервисе, я не понимаю, почему я не должен использовать их ...

NB: мой вопрос не о том, как внедрить контейнер в мою сущность, я могу понять, почему это не имеет смысла, но больше того, что будет лучшим способом избежать переписывания одной и той же функции в разных сущностях.

Наследование кажется плохой «хорошей идеей», так как я мог бы использовать getAge () внутри класса BlogArticle, и я сомневаюсь, что этот класс BlogArticle должен наследовать от того же класса, что и класс People ...

Надеюсь, я был ясен, но не уверен ...

Ответы на вопрос(4)

Ваш ответ на вопрос