最新のSymfonyとDoctrineを使用してコントローラー内からエンティティマネージャーを取得するにはどうすればよいですか?
「非推奨」としてフラグ付けされた「The Book」で説明されている方法。これを行うための現代的な(適切な)方法は何ですか?
public function someAction()
{
// getEntityManager() from Doctrine\Bundle\DoctrineBundle\Registry is deprecated
$entityManager = $this->getDoctrine()->getEntityManager();
...
}
代わりに$this->getDoctrine()->getManager()
を使用してください。
実際、使用している永続化レイヤーをコントローラーに認識させないことが最善です。そのようなものを Service Layer に移動して、データの永続化方法を抽象化する必要があります。