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 :

Undefined property: Form::$tabMsg


Sujet :

Langage PHP

Vue hybride

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 Undefined property: Form::$tabMsg
    Bonjour,

    J'ai un pb dans une classe qui me génère une msg dans le log alors que pour moi, tous les intervenants sont PUBLIC !

    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
    		class Message Extends ErrorHandler
    		{	private   $cntFilled, $cntField, $valid ;
    			public    $msg, $tabMsg = array( 	VIDE  => "Prêt à recevoir l'encodade de votre formulaire"     ,
     												KO    => "Veuillez corriger les fautes/complètez votre formulaire"   ,
    												OK    => "Parfait, pas(plus) d'erreur(s) dans ce formulaire"   
    					 			   		 	) ;
    		
    			function __construct($cntFilled, $cntField, $valid /* Boolean */)
    			{	$this->cntFilled = $cntFilled ;
    				$this->cntField  = $cntField  ;
    				$this->valid     = $valid     ;
    //
    //              Error Handler
    //				=============				
    				try {
     
     					if ($this->cntFilled == 0)
    						$this->msg = VIDE ;
    					elseif ($this->cntFilled < $this->cntField)
    						$this->msg = KO ;
    					elseif ($this->cntFilled == $this->cntField)
    						$this->msg = OK ;
    					else
    						throw new Exception("Count [field filled] greater than [total count form fields] !") ;
    				}	catch (Exception $E)
    					{	ErrorHandler::exception_handler($E) ; }
    			}
    				
    			function __destruct()
    			{	}
    				
    			public function getMessage()
    785 ==>			{	 return( $this->tabMsg[$this->msg]  ) ; }   
    		}
    Et le log:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [29-May-2010 08:43:23] PHP Notice:  Undefined property: Form::$tabMsg in F:\WebSites\test\checkform.php on line 78
    Bizarre vous avez dit bizarre ....

    Qui me dira..... merci @lui

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 45
    Par défaut
    Salut,

    PHP Notice: Undefined property: Form::$tabMsg in F:\WebSites\test\checkform.php on line 78
    L'erreur te parle de Form::$tabMsg, pas de Message ... il n'y a pas confusion des fois ?


    Cordialement,


    Kohntark-

  3. #3
    Membre expérimenté Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Par défaut
    Là tu nous montres la ligne 785, et dans ton log c'est la ligne 78 qui est concerné?

  4. #4
    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 JE recommence....
    J'ai déjà changé mon prog depuis lors...

    Le log

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Undefined property: Form::$tabMsg in F:\WebSites\test\checkform.php on line 844
    Et le code

    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
    		class Message Extends ErrorHandler
    		{	private   $cntFilled, $cntField, $valid ;
    			public    $msg, $tabMsg = array( 	VIDE  => "Prêt à recevoir l'encodade de votre formulaire"     ,
     												KO    => "Veuillez corriger les fautes/complètez votre formulaire"   ,
    												OK    => "Parfait, pas(plus) d'erreur(s) dans ce formulaire"   
    					 			   		 	) ;
    		
    			function __construct($cntFilled, $cntField, $valid /* Boolean */)
    			{	$this->cntFilled = $cntFilled ;
    				$this->cntField  = $cntField  ;
    				$this->valid     = $valid     ;
    //
    //              Error Handler
    //				=============				
    				try {
     
     					if ($this->cntFilled == 0)
    						$this->msg = VIDE ;
    					elseif ($this->cntFilled < $this->cntField)
    						$this->msg = KO ;
    					elseif ($this->cntFilled == $this->cntField)
    						$this->msg = OK ;
    					else
    						throw new Exception("Count [field filled] greater than [total count form fields] !") ;
    				}	catch (Exception $E)
    					{	ErrorHandler::exception_handler($E) ; }
    			}
    				
    			function __destruct()
    			{	}
    				
    			public function getMessage()
    line 844 ==>			{	 return( $this->tabMsg[$this->msg]  ) ; }   
    		}
    Juste une erreur de manip avec la souris !

    Merci

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    Juste un conseil qui ne répondra pas à la question.

    Lorsque je vois erreur ligne 844, je me dis que grosso-modo il y a 700 lignes (voir plus) de trop dans ce script.

    Éclate ton code, use et abuse des include/require. Sans aller jusqu'à Java où 1 classe = 1 fichier, simplifie toi la vie.
    Écris des petit scripts, teste les, puis intègre les dans ton code global.

    C'est là tout l'intérêt de la POO : Réfléchir à une problématique à la fois, tester que la classe qui répond à cette problématique fonctionne correctement, et réfléchir ensuite à la problématique de son intégration.

  6. #6
    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 Conseil
    Oui tu as raison et je suis entrain d'ailleurs de réduire fortement car les mêmes (ou à peu près) validations sont faites un peu partout.....
    Cela simplifie les choses mais à la limite, implique une meilleure connaissance de OOP (ce qui est normal) mais on apprend en forgeant n'est ce pas !

    Le fait de ne pouvoir hériter que d'une seule classe est parfois v=bien ennuyant... et même contraignant...

    As-tu des news de PHP6 à ce sujet ?

    Merci de m'envoyer quelques liens si tu en as !

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    Citation Envoyé par ETVigan Voir le message
    Le fait de ne pouvoir hériter que d'une seule classe est parfois v=bien ennuyant... et même contraignant...

    As-tu des news de PHP6 à ce sujet ?
    Je suis pas trop (voir pas du tout ) le développement de PHP6, mais il est très peu probable de voir arriver l'héritage multiple en PHP, ou alors pas avant longtemps (et c'est tant mieux).

    De toute manière, avant que PHP6 soit pleinement utilisable (vu comme le développement a du mal à avancer), y'a le temps.
    Pas la peine d'y penser pour le moment

Discussions similaires

  1. erreur 1119: Access of possibly undefined property ..
    Par ouldfella dans le forum Flash
    Réponses: 1
    Dernier message: 23/03/2010, 12h25
  2. Avertissement*: reference to undefined property window.opera
    Par Paul TOTH dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/03/2010, 12h06
  3. Réponses: 2
    Dernier message: 13/01/2010, 19h48
  4. Réponses: 7
    Dernier message: 29/06/2007, 13h19
  5. [Forms]List Item properties Forms (10g)
    Par thunderblade dans le forum Forms
    Réponses: 3
    Dernier message: 23/12/2006, 13h52

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