Doctrine Entity Manager をサービス レイヤーとテンプレート コントローラーから取得する最善の方法がわかりません。
シングルトンを作成して、常にエンティティマネージャーを取得できるように考えていますが、それは正しい方法ですか?
更新:例を挙げます
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 );
}
私が理解できないのは、どこからユーザーを取得する必要があるのですか? そのため、エンティティ マネージャーをパラメーターとして送信する必要はありません。