Рассмотрим этот код:
public function showActiveJobsAction($slug)
{
$em = $this->getDoctrine()->getEntityManager();
$category = $em->getRepository('JobeetBundle:Category')->findBySlug($slug);
if (! $category) {
throw $this->createNotFoundException('Unable to find Category entity.');
}
$jobService = $this->container->get('job_service');
$category = $jobService->populateCategoryByItsActiveJobs($category);
return $this->render('JobeetBundle:Category:jobs.html.twig', array(
'category' => $category,
));
}
job_service нужен JobeetBundle: репозиторий категорий для работы. Репозиторий передается сервисному конструктору. Это все определено в services.yml
Итак, в этом случае я получаю два экземпляра JobeetBundle: класс репозитория категорий?
Если да, как я могу изменить свой дизайн, чтобы сделать его лучше?
Вероятно, лучше создать код, например:
$jobService->getCatetoryWithActiveJobsByItsSlug($slug)
но мне все еще интересно, ищет ли контейнер существование объекта перед его созданием?