1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    décembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : décembre 2016
    Messages : 5
    Points : 5
    Points
    5

    Par défaut Too few arguments var/cache/dev/appDevDebugProjectContainer.php

    Bonjour,
    Je rencontre un problème bizarre avec un de mes services symfony (symfony 3).
    Ca me dit:
    Type error: Too few arguments to function ISC\AuthenticationBundle\Repositories\AuthenticationUserRepository::__construct(), 1 passed in /opt/workspaces/eclipse-php/webisc/var/cache/dev/appDevDebugProjectContainer.php on line 2227 and exactly 2 expected
    Effectivement, dans le cache je retrouve que le service généré par symfony est ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     protected function getIscAuthentication_RepositoryAuthenticationUserService()
        {
            return $this->services['isc_authentication.repositoryAuthenticationUser'] = new \ISC\AuthenticationBundle\Repositories\AuthenticationUserRepository(${($_ = isset($this->services['isc_webservicesbundle.consumer']) ? $this->services['isc_webservicesbundle.consumer'] : $this->get('isc_webservicesbundle.consumer')) && false ?: '_'});
        }
    Or, je déclare son constructeur comme ça, avec deux arguments:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        private $_consumer;
        private $_patientRepository;
     
        public function __construct($patientRepository,$consumer)
        {
            $this->_consumer=$consumer;
            $this->_patientRepository=$patientRepository;
        }
    Dans le fichier services.yml de ce bundle j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       isc_authenticationbundle.repository:
            class: ISC\AuthenticationBundle\Repositories\AuthenticationUserRepository
            arguments:
                - "@isc_administratif.repositoryPatient"
                - "@isc_webservicesbundle.consumer"
    De plus le code du service.yml pour le repositoryPatient est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    services:
        isc_administratif.repositoryPatient:
            class: ISC\AdministratifBundle\Repositories\PatientRepository
            arguments:
                - "@isc_webservicesbundle.consumer"
    Je nage... pourquoi le cache se génère-t-il avec un constructeur à 1 parametre alors que j'en veux 2?
    J'ai essayé de refaire en inversant les 2 parametres mais c'est toujours sur patientRepository qua ça pèche et je précise que j'ai nettoyé le cache à chaque fois...

    Quelqu'un aurait une idée svp?

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    décembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : décembre 2016
    Messages : 5
    Points : 5
    Points
    5

    Par défaut

    Bonjour,
    je renouvelle ma demande... si quelqu'un comprends le problème...

    Merci

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2013
    Messages
    675
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : novembre 2013
    Messages : 675
    Points : 927
    Points
    927

    Par défaut

    Bonjour,

    Je suis pas sur mais ça peut être vrai.

    dans "AuthenticationUserRepository" on veux passer deux paramètres selon "arguments:" du fichier service.yml par contre "PatientRepository" est déjà un service qui contient "consumer" du coup il faut passer deux vrais arguments différents pas un inclus dans un autre .

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/04/2013, 18h40
  2. Réponses: 4
    Dernier message: 10/09/2009, 11h35
  3. sprintf(): Too few arguments
    Par hadjiphp dans le forum Fonctions
    Réponses: 8
    Dernier message: 05/06/2009, 23h40
  4. "too few arguments" à l'initialisation d'une fonction
    Par mr:titi7 dans le forum Débuter
    Réponses: 14
    Dernier message: 13/01/2008, 06h12
  5. erreur too few arguments ; recup valeur boucle
    Par Sam 069 dans le forum Access
    Réponses: 2
    Dernier message: 26/07/2006, 18h38

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