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

Langage PHP Discussion :

Héritage parent <=> enfant, le bon sens [PHP 5.3]


Sujet :

Langage PHP

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Par défaut Héritage parent <=> enfant, le bon sens
    Bonjour,

    Je ne sais plus dans quel sens l'héritage fonctionne, si en théorie mais la pratique est une autre chose....

    Mon site est en ligne pour l'instant; www.jecrapahute.fr

    Il se compose d'une classe Form et d'une Classe Field que viennent redéfinir les classes fonction du type de champ.

    J'ai un compteur définit dans Form (cntFilled) et incrémenté dans Field.
    Ma forme est complète et j'ai toujours cntFilled == 0 ??????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     PHP Notice:  stillFill[0] - cntFilled[0] in F:\WebSites\checkform\class\validate.php on line 142
    Tout se passe dans validate.php que je mets en pièce attachée.
    Le code de Form::getMsg()est à regarder:

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    /**
    * 	getMsg
    *	======
    */	
    	function getMsg()                   		// Public car function appelée du formulaire...
    	{	
    //
    //		affichage du message inférieur
    //		==============================			
    		if ($this->isFormValid() )
    		 	{	user_error("stillFill[".$this->stillFill."] - cntFilled[".$this->cntFilled."]" , E_USER_NOTICE) ;
     
    				if ($this->cntFilled)
    					if ($this->stillFill)
    						$this->msg = STILL ;
    					else
    						$this->msg = OK ;
    				else
    					if ($this->stillFill)
    						$this->msg = STILL ;
    					else
    						$this->msg = VIDE ;
    			}
    		else
    			{	if ($this->cntFilled)
    					if ($this->stillFill)
    						$this->msg = STILL ;
    					else
    						$this->msg = KO ;
    				else
    					if ($this->stillFill)
    						$this->msg = STILL ;
    					else
    						$this->msg = KO ;
    			}
     
    		return( $this->tabMsg[$this->msg] ) ;  
    	}
    Ainsi que dans Field les endroit où j'incrémente mon compteur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    			case SELECT		:	if ( isset($_POST[$this->name] ) )   
    									if ($_POST[$this->name] == 0)
    										{	$this->stackMessage(sprintf(NOTZERO , $this->name )) ;
    										}
    									else
    										{	$this->cntValid++ ;
    											
     271 => $this->cntFilled++ ;
    										}
    Et ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    /**
    * 	ifFilled
    *
    */	
    	function ifFilled($debug) 
    	{	if ($rc = (!empty($this->value)))
    			{ 384 > $this->cntFilled++ ;
    				if ($debug)
    					user_error("ifFilled[".$this->name."][".$this->value."][".$this->len."][".$rc."]" , E_USER_NOTICE) ;return( $rc ) ;
    				return(true) ;
    			}
    		else
    			return(false) ;
    	}
    En principe, les classes enfants heritent des parents, ce qui est - je crois - l'inverse de ce que je souhaite faire !
    Ou alors je dois comprendre qu'une propriété définie au niveau parent, peut être utilisée au niveau enfant, alors l'erreur est autre part...

    J'ai utilisé parent:: sans succès...


    Cela doit être con mais je ne vois pas... je souhaiterais connaitre le bon raisonnement, merci !!!!

    Merci à ceusssss qui me sortiront de là !
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Héritage Insertion d'un enfant avec reprise champ parent
    Par ryosakasaki70 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 18/09/2012, 16h50
  2. Héritage Parent > Enfants
    Par Trebor_ dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 16/05/2008, 14h38
  3. [ALGO] dessiner un triangle dans le bon sens
    Par lefait dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 05/02/2005, 15h38
  4. [VB6] TreeView -- faire la différence entre le parent et l'enfant
    Par Baquardie dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 22/10/2004, 23h16

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