php - 如何减少 Symfony2 中的代码重复

标签 php symfony code-duplication

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

我有 2 个“辅助”实体:UserTypeAUserTypeB,它们包含 ManyToOne 关系的属性(例如,用户分配给产品的评论) 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);

   //...
}

如您所见,我需要复制每个操作以使它们适用于每个实体。有什么办法可以将这些 Action 结合起来吗?关于辅助实体及其存储库的同样问题。

谢谢。

最佳答案

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

关于php - 如何减少 Symfony2 中的代码重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26760355/

相关文章:

PHP 将 CSV 转换为特定的 JSON 格式

eclipse - Symfony2 : Is there a symfony2 plugin for Aptana/Eclipse?

c++ - 避免代码重复(常量正确性)redux

javascript - javascript中的代码重复

php - 在 Laravel 中创建搜索工具

c# - 将 C# lambda 表达式移植到 PHP

javascript - 下拉菜单不适用于 bootstrap 4/webpack encore/symfony 4 helppp

c++ - 如何在开发过程中检测代码重复?

php - 您的 SQL 语法有误 - 靠近“左”)

mysql - 如何加入多对多关系