實體經理,我無法弄清楚它是如何最好地從我的服務層獲得主義實體管理器,模板控制器..學說2 - 獲取從
我想製作一個單身,所以我總是可以得到實體經理,但這是否正確嗎?
更新:我舉個例子
class Auth
{
const USER_ENTITY_NAME = 'Entities\User';
private $isVerified = FALSE;
public static function login($email, $password, $em, $rememberMe = false)
{
if(empty($email) OR empty($password))
{
// new login response
}
if($user = (self::getUser($email, $password, $em) !== null))
{
$sreg = SessionRegistry::instance();
$sreg->set("user_id", $user->getId());
}
return $user;
}
public static function getUser($email, $password, $em)
{
return $em->getRepository(
USER_ENTITY_NAME);
}
我無法弄清楚是我應該得到的用戶?所以我不必發送實體管理器作爲參數。
所有的存儲庫都可以通過' - > getEntityManager()'訪問實體管理器,因此大多數人傾向於在自定義存儲庫中完成工作。這就是我所見過的最主要的和我自己使用的東西。 – Orbling
好吧,但如何從另一個類獲取存儲庫?我需要實體經理了......我想我在這裏錯過了一些東西,我有一個授權類,我需要讓用戶看看用戶是否存在。 – Saggo
基本上,在實體中,您可以訪問的唯一其他實體是關聯和任何從外部傳入的方法。在存儲庫中,您可以訪問實體管理器,因此您可以訪問數據庫。 – Orbling