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 ...
Надеюсь, я был ясен, но не уверен ...