IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Problème de surcharge de repository


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 125
    Points : 55
    Points
    55
    Par défaut Problème de surcharge de repository
    En regardant la doc SF2 http://symfony.com/doc/current/cookb.../override.html, je constate que l'on peut surcharger les différents éléments d'un bundle.
    Je souhaite, dans mon bundle, surcharger le repository d'une entité d'un autre bundle. Je ne sais pas si c'est possible.

    J'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    namespace Vendor\MyCustomBundle\Repository;
     
    use Doctrine\ORM\Mapping as ORM;
    use Doctrine\ORM\EntityRepository;
    use Doctrine\ORM\QueryBuilder;
    use OtherVendor\OtherBundle\Repository\Log\LogRepository;
    use JMS\DiExtraBundle\Annotation as DI;
     
    /**
     * @DI\Service("mycustom.repository.log")
     */
    class CustomLogRepository extends LogRepository
    {
        public function findResourceByType($resourcetype)
        {
           ...
            return $query->getResult();
        }
    }
    Quand j'apelle mon service depuis le controller de mon bundle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $logrepo = $this->container->get('mycustom.repository.log');
    $loguserinfos = $logrepo->findResourceByType($resourceType);
    j'ai l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Warning: Missing argument 1 for Doctrine\ORM\EntityRepository::__construct(), called in /home/user/www/site/app/cache/dev/appDevDebugProjectContainer.php on line 4552 and defined
    500 Internal Server Error - ContextErrorException
    Est-ce possible de surcharger un repository d'un bundle tiers ? Si oui, quelle est la méthode ?

  2. #2
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    Bonjour
    Pour surcharger le repository d'un bundle, je pense qu'une solution serait d'etendre le bundle avec le sien ( http://symfony.com/fr/doc/current/co...heritance.html ) et par la suite reecrire le repository comme dans l'ancien bundle et je ne pense pas que l'emplacement serait obligatoire si ce n'est de respecter la norme d'autoload de symfony2 ... car le role des repository consiste juste a la recuperation des donnees persiste dans la BD. Tu l'auras compris on a donc pas vraiment besoin de surcharger tout un bundle pour recuperer donnees qu'il gere ...bon je ne connais pas tes besoins mais j'espere t'avoir donne une piste.

  3. #3
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Je n'ai rien compris à la réponse précédente...

    Il faut que tu précises le service parent à ton nouveau service afin qu'il injecte les mêmes arguments qu'à la classe LogRepository.

    http://symfony.com/fr/doc/current/co...tservices.html

Discussions similaires

  1. Débutant, problème de surcharge
    Par guidevelop dans le forum C++
    Réponses: 5
    Dernier message: 06/11/2006, 14h28
  2. problème de surcharge
    Par bountykiller dans le forum C++
    Réponses: 8
    Dernier message: 09/10/2005, 20h45
  3. Petit probléme de surcharge d'opérateur .
    Par Clad3 dans le forum C++
    Réponses: 20
    Dernier message: 11/04/2005, 20h15
  4. Problème de surcharge d'opérateurs
    Par Hell dans le forum C++
    Réponses: 17
    Dernier message: 17/01/2005, 16h01
  5. Réponses: 2
    Dernier message: 25/07/2004, 23h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo