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 :

Architecture de classes, découpage et héritage [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 Architecture de classes, découpage et héritage
    Bonjour,

    J'avais un souci dans une succession de classe Form => Validator, souci justifié par le fait que j'avais les propriétés:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	private 	$cntField  = 0 ; 
    	private 	$cntFilled = 0 ;
    	private 	$stillFill = 0 ;
    Définies au niveau Form mais calculées au niveau enfant.
    J'ai résolu mon problème en n'en faisant qu'une seule classe de 324 lignes ???? , ce qui va dans le sens contraire de la philosophie OOP.

    Ces 3 propriétés sont utilisées pour le diagnostic de la Form et le message en bas de celle-ci !

    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
    	function getMsg()  // Public car function appelée du formulaire...
    	{	
    //
    //		affichage du message inférieur
    //		==============================			
    		if ($this->debug)
    			user_error("getMsg[".$this->cntFilled."][".$this->cntField."][".$this->stillFill."]" , E_USER_NOTICE) ;	
    					
    		if ($this->isFormValid() )
    		 	{	if ($this->cntFilled)
    					if ($this->stillFill)
    						$this->msg = STILL ;
    					else
    						$this->msg = OK ;
    				else
    					$this->msg = VIDE ;
    			}
    		else
    			{	if ($this->cntFilled)
    					if ($this->stillFill)
    						$this->msg = STILL ;
    					else
    						$this->msg = KO ;
    				else
    					$this->msg = VIDE ;
    			}
    		return( $this->tabMsg[$this->msg] ) ;  
    	}
    Sont calculées au niveau enfant (ex classe Validator)

    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
    			switch( $this->form[$i][self::Clas] ) 
    			{	case STRING : 	if ($this->ifFilled() )  
    									if ($this->ifLength() )
    										return ( $this->valDatatype() )  ;
    								else
    									return ( $this->mustFill() ) ; 
    								break ;
    
    //
    //  bla  bla bla 
    //
    								
    /**
    * 	ifFilled
    *
    */	
    	function ifFilled() 
    	{	if ($rc = ($this->value != NULL) == true)
    			$this->cntFilled++ ;
    		return( (bool) $rc ) ;
    	}
    	
    /**
    * 	mustFill
    *
    */	
    	function mustFill() {
    		if ($this->must) 
    			{	$this->msg = "Le champ[".$this->name."] doit être encodé !" ;
    				$this->stackMessage($this->msg) ;
    				$this->stillFill++ ;
    			}
    	    return( (bool) $this->must) ;
    	}
    Or ma(s) classe(s) doive(ent) encore subir des extensions... ce qui va en faire un monstre inmaintenable si je les conserve d'une seule pièce !

    J'en appelle à vous pour me montrer la bonne marche à suivre pour organiser les classes selon le modèle OOP de PHP5 !
    Je vous mets la source en pièce attachée !

    Merci à vous tous
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Classes amies et héritage simple
    Par nicolas66 dans le forum C++
    Réponses: 1
    Dernier message: 27/02/2008, 08h27
  2. Comment hériter de deux classes ? (que signifie héritage multiple ?)
    Par adil_vpb dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 23/10/2007, 19h27
  3. Réponses: 17
    Dernier message: 27/08/2007, 18h35
  4. Foncteur, classes templates et héritage
    Par Floréal dans le forum C++
    Réponses: 8
    Dernier message: 17/06/2007, 21h56
  5. [c++]Architecture des classes pour un jeu
    Par Pegasus32 dans le forum C++
    Réponses: 23
    Dernier message: 16/02/2005, 14h07

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