Php 如何减少Symfony2中的代码重复

Php 如何减少Symfony2中的代码重复,php,symfony,code-duplication,Php,Symfony,Code Duplication,我有3个“主要”实体:TypeA和TypeB通过多通关系链接到User 我有两个“次要”实体:UserTypeA和UserTypeB,它们包含多个同一关系的属性(例如,用户分配给a类产品的注释)。这两个实体及其存储库类似(除了一个链接到TypeA,另一个链接到TypeB) 以下是我代码的一部分: public function typea_commentAction(TypeA $typea) { $user = $this->getUser(); $userTypeA = $

我有3个“主要”实体:TypeATypeB通过多通关系链接到User

我有两个“次要”实体:UserTypeAUserTypeB,它们包含多个同一关系的属性(例如,用户分配给a类产品的注释)。这两个实体及其存储库类似(除了一个链接到TypeA,另一个链接到TypeB)

以下是我代码的一部分:

public function typea_commentAction(TypeA $typea)
{
   $user = $this->getUser();
   $userTypeA = $this->getDoctrine()
                      ->getManager()
                      ->getRepository('GamUserBundle:UserTypeA')
                      ->getComment($user, $typea);

   //...
}

public function typeb_commentAction(TypeB $typeb)
{
   $user = $this->getUser();
   $userTypeB = $this->getDoctrine()
                      ->getManager()
                      ->getRepository('GamUserBundle:UserTypeB')
                      ->getComment($user, $typeb);

   //...
}
如您所见,我需要复制每个操作,使它们与每个实体一起工作。有没有办法把这些行动结合起来?关于辅助实体及其存储库的相同问题


谢谢。

创建一个服务类,该类执行逻辑并将用户类型作为参数。

谢谢。这正是我需要的。