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 :

surcharger la methode get


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 24
    Par défaut surcharger la methode get
    Bonjour tous le monde,

    voila mon probleme, j'ai une class user.class.php qui herite de la classe baseuser.class.php.

    quand j'essai de surcharger la methode getFullname() dans user.class.php il me donne une erreur
    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function  getFullname() {
            parent::getFullname();
        }
    Merci pour votre aide

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Quelle est l'erreur exacte ?

    Même si ça ne risque pas d'être la réponse au problème : il manque le "return" dans ta méthode.

  3. #3
    Membre averti
    Inscrit en
    Août 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 24
    Par défaut
    oui meme si j ajoute le return

    voila l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Maximum function nesting level of '100' reached, aborting! in /home/www/symfony/lib/model/doctrine/user.class.php on line 16

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Il faudrait que je vois exactement le code de la méthode parente, mais l'erreur est que :
    - tu appelles parent::getFullname();
    - si la méthode parent::getFullname() est abstraite (ou dans d'autres cas aussi), elle délèguera son appel à la classe enfant -- ce qui est ton cas ;
    - la méthode de la classe enfant est appelée (la tienne) et l'instruction est : parent::getFullname() ;
    - etc.
    - etc., sans fin

    D'où ton message d'erreur : au bout de 100 boucles, le moteur PHP reconnaît que tu as une boucle infinie et stoppe le processus. Tu appelles la méthode parente, qui elle-même délègue à la méthode de la classe enfant, qui appelle la méthode parente ..., ...

    Donc, je ne sais pas ce que tu veux faire, mais remplace ce parent::getFullname() par le retour que tu veux. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     public function  getFullname() {
            return $this->fullname;
        }
     
    // ps : attention aux respects de l'indentation et des normes de codage
    // sinon ton code va vite devenir illisible

  5. #5
    Membre averti
    Inscrit en
    Août 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 24
    Par défaut
    Merci bilbonec pour ton aide,

    j'ai aussi essayer avec $this->fullname est ça marche pas il me donne une cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Notice: Undefined property: user::$fullname in /home/www/symfony/lib/model/doctrine/user.class.php on line
    pour la classe parent c'est la classe générer par symfony (abstract class Baseuser extends sfDoctrineRecord)

    et encore merci

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Je n'ai pas de quoi tester là, mais c'est quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $this->_fullname; // si le champ est protected
    // OU :
    $this['fullname'];
    Je me mélange parfois, si quelqu'un pouvait me corriger ?

  7. #7
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    Le grand avantage de declarer abstract ses méthodes c'est que le message d'erreur est plus parlant si on appelle une méthode abstraite.

    Je connais pas symphonie mais un var_dump($this) démèle la situation à tout les coups.

  8. #8
    Membre averti
    Inscrit en
    Août 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 24
    Par défaut
    Aver un var_dump($this) voia le resultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    object(user)[128]
      protected '_node' => null
      protected '_id' => 
        array
          'id' => string '1' (length=1)
      protected '_data' => 
        array
          'id' => string '1' (length=1)
          'fullname' => string 'mon nom' (length=17)
          'email' => string 'email@gmail.com' (length=23)
          'password' => string 'e10adc3996245abbe56e057f20f883e' (length=32)
          'created_at' => string '2010-10-04 19:07:52' (length=19)
          'updated_at' => string '2010-10-14 16:38:39' (length=19)

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/09/2005, 12h17
  2. prob tres simple, form, method get
    Par killy-kun dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 25/08/2005, 10h29
  3. Faire Choix du fichier destination methode GET grace a JS
    Par ahage4x4 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/06/2005, 15h26
  4. la méthode get du Net::telnet
    Par BENCHEKROUN dans le forum Modules
    Réponses: 4
    Dernier message: 25/05/2005, 12h31
  5. probleme avec methode get
    Par Tr@nkill dans le forum ASP
    Réponses: 2
    Dernier message: 12/05/2005, 13h54

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