getEntityManager() et getDoctrine() dans Symfony2
Quelle est la différence entre ces deux énoncés:
$this->getDoctrine()->getEntityManager()->getRepository();
$this->getDoctrine()->getRepository();
Est la différence se rapportent à toute la programmation orientée objet concept, je suis absent?
$this->getDoctrine()->getEntityManager() est obsolète dans Symfony 2
OriginalL'auteur NightOwl85 | 2011-11-29
Vous devez vous connecter pour publier un commentaire.
En général, pas de différence, car
est juste une aide pour
Vous pouvez avoir plusieurs gestionnaires d'entités, et puis il y aura une légère différence dans l'obtention d'un référentiel à partir de:
Mais encore une fois, aucune différence dans le résultat que vous allez obtenir.
Toutes autres choses étant égales par ailleurs, j'irais avec le plus court.
OriginalL'auteur Elnur Abdurrakhimov
Le résultat est le même, mais si vous avez besoin d'un entityManager pour plus que juste l'acquisition d'un référentiel, il peut être pratique pour l'enregistrer et ensuite recevoir le dépôt en tant que bien que pour faire d'autres opérations telles que l'éclat:
Comme dit avant, si vous avez seulement besoin d'obtenir le Référentiel, aller avec le deuxième énoncé, qui est plus court et facile à lire que le premier.
OriginalL'auteur Sgoettschkes
Il n'y a pas de différence. Si vous regardez le code source de AbstractManagerRegistry.php. Vous pouvez voir ce code:
Comme vous pouvez le voir, lorsque vous appelez getRepository(), il appelle d'abord getManager() et puis getRepository(). Je vous recommande d'utiliser le deuxième, car il donne intellisense dans IDEs, tels que PHPStorm. Espérons que cela aide.
OriginalL'auteur Sukhrob