这两种说法有什么区别吗:
$this->getDoctrine()->getEntityManager()->getRepository();
$this->getDoctrine()->getRepository();
差异是否与我遗漏的任何 OOP 概念有关?
最佳答案
一般来说,没有区别,因为
$this->getDoctrine()->getRepository();
只是一个 helper
$this->getDoctrine()->getEntityManager()->getRepository();
您可以有多个实体管理器,然后从一个实体管理器获取存储库会略有不同:
$this->getDoctrine()->getRepository($entityName, $enityManagerName);
$this->getDoctrine()->getEntityManager($entityManagerName)->getRepository($entityName);
但同样,您得到的结果没有区别。
在所有其他条件相同的情况下,我会选择最短的。
关于symfony - Symfony2 中的 getEntityManager() 和 getDoctrine(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8316006/