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 classe


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 classe
    Bonjour, j'éprouve depuis un certain temps un problème d'architecture de classe.
    J'essaye de m'écrire un script de validation de forme....

    Ma forme est écrite en HTML insérée de balises <?PHP ?>, mais le problème n'est pas là....

    J'ai une classe Form, String & autres classes à venir.... car en fonction du type de champ, les validations sont très simililaires et l'intention est de les mettre dans une classe Validator......

    En finalité, et c'est le but final, j'affiche en bas de forme un msg fonction du nombre d'erreur rencontrée et du nombre de champ encore à remplir puis un OK final.... là je n'arrive jamais....

    Je mets mon code validate.php en pièce attachée et voici le log.php avec les points - que je juge délicat - en gras.

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    
    PHP Warning:  Update Screen[index] done ! in F:\WebSites\checkform\class\newScreen.php on line 127
    PHP Stack trace:
    PHP   1. {main}() F:\WebSites\checkform\index.php:0
    PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
    PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
    PHP   4. Screen->execute() F:\WebSites\checkform\class\newSkelt.php:174
    PHP   5. Screen->UpdScreen() F:\WebSites\checkform\class\newScreen.php:65
    PHP   6. user_error() F:\WebSites\checkform\class\newScreen.php:127
    PHP Notice:  String[__construct] [nom][ccccccccc][9] in F:\WebSites\checkform\class\validate.php on line 233
    PHP Stack trace:
    PHP   1. {main}() F:\WebSites\checkform\index.php:0
    PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
    PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
    PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324
    PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:405
    PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
    PHP   7. String->__construct() F:\WebSites\checkform\doc\do_index.php:26
    PHP   8. user_error() F:\WebSites\checkform\class\validate.php:233
    PHP Notice:  ifFilled[nom][ccccccccc][9] in F:\WebSites\checkform\class\validate.php on line 258
    PHP Stack trace:
    PHP   1. {main}() F:\WebSites\checkform\index.php:0
    PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
    PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
    PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324
    PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:405
    PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
    PHP   7. String->__construct() F:\WebSites\checkform\doc\do_index.php:26
    PHP   8. String->execute() F:\WebSites\checkform\class\validate.php:235
    PHP   9. String->ifFilled() F:\WebSites\checkform\class\validate.php:244
    PHP  10. user_error() F:\WebSites\checkform\class\validate.php:258
    PHP Notice:  ifFilled[nom][ccccccccc][9][1] in F:\WebSites\checkform\class\validate.php on line 263
    PHP Stack trace:
    PHP   1. {main}() F:\WebSites\checkform\index.php:0
    PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
    PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
    PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324
    PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:405
    PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
    PHP   7. String->__construct() F:\WebSites\checkform\doc\do_index.php:26
    PHP   8. String->execute() F:\WebSites\checkform\class\validate.php:235
    PHP   9. String->ifFilled() F:\WebSites\checkform\class\validate.php:244
    PHP  10. user_error() F:\WebSites\checkform\class\validate.php:263
    PHP Notice:  ifFilled[nom][ccccccccc][9] in F:\WebSites\checkform\class\validate.php on line 258
    PHP Stack trace:
    PHP   1. {main}() F:\WebSites\checkform\index.php:0
    PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
    PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
    PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324
    PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:405
    PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
    PHP   7. Form->__construct() F:\WebSites\checkform\doc\do_index.php:48
    PHP   8. Form->execute() F:\WebSites\checkform\class\validate.php:87
    PHP   9. String->execute() F:\WebSites\checkform\class\validate.php:114
    PHP  10. String->ifFilled() F:\WebSites\checkform\class\validate.php:244
    PHP  11. user_error() F:\WebSites\checkform\class\validate.php:258
    PHP Notice:  ifFilled[nom][ccccccccc][9][1] in F:\WebSites\checkform\class\validate.php on line 263
    PHP Stack trace:
    PHP   1. {main}() F:\WebSites\checkform\index.php:0
    PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
    PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
    PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324
    PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:405
    PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
    PHP   7. Form->__construct() F:\WebSites\checkform\doc\do_index.php:48
    PHP   8. Form->execute() F:\WebSites\checkform\class\validate.php:87
    PHP   9. String->execute() F:\WebSites\checkform\class\validate.php:114
    PHP  10. String->ifFilled() F:\WebSites\checkform\class\validate.php:244
    PHP  11. user_error() F:\WebSites\checkform\class\validate.php:263
    PHP Notice:  stillFill[0] - cntFilled[0] in F:\WebSites\checkform\class\validate.php on line 149
    PHP Stack trace:
    PHP   1. {main}() F:\WebSites\checkform\index.php:0
    PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
    PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
    PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324
    PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:405
    PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
    PHP   7. require_once() F:\WebSites\checkform\doc\do_index.php:72
    PHP   8. Form->getMsg() F:\WebSites\checkform\config\formdef.php:157
    PHP   9. user_error() F:\WebSites\checkform\class\validate.php:149
    Ma forme ne contient qu'un seul champ: ifFilled[nom][ccccccccc][9] qui contient 9 X "c" !

    Donc, selon mon idée;la variable cntFilled est incrémentée..... mais non !
    Pourquoi ? That's THE question !

    Lors de la définition de la forme, j'utilise String qui est instanciée...

    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
    *	Instanciation de la FORME
    *	=========================
    */	
    	$cf = new Form(		$fields = array (  	new String   (  "nom"			,  	MUST  	,   Alpha			, 3		, 30 )  
    /* ,                           
     											new String   (  "prenom"		,  	MUST  	, 	Alpha			, 3		, 30 )  ,
     											new Email    (  "email"  		,  	MUST	, 	Mail 			, 8		, 30 )  ,
     											new Email    (  "cemail"  		,  	MUST	, 	Mail 			, 8		, 30 )  ,
    											new Phone  	 (  "phone"			, 	MUST 	, 	Num  			, 10	, 10 )  , 															                                            new Integer  (  "numero" 		,   MUST	, 	UINT			, 1		,  5 )  ,
    											new String   (  "boite"  		,  	OPT		, 	aNum    		, 1		,  5 )  ,
     											new String   (  "voie"			,  	MUST  	, 	aNumE			, 3		, 30 )  ,
     											new Integer  (  "zip"   		,  	MUST	, 	UINT 			, 5		,  5 )  ,
    											new Date     ( 	"date"			,	MUST						, 8		,  8 )  ,
     											new Select   (  "pays"  		,	MUST  	     							 )  ,
    											new Select   (  "question"		, 	MUST  	     							 )  ,
     											new String   (  "secretanswer"	,  	MUST  	,   Alpha			, 5		, 15 )  ,	                        
     											new Select   (  "job"  			,	MUST  	     							 )  ,
     											new Password (	"pass" 			,	MUST 	, 	aNum        	, 6 	,  8 )  ,
     											new Password (	"cpass" 		,	MUST 	, 	aNum        	, 6 	,  8 )  ,
    											new Textarea (  "text" 			,	MUST 	, 	aNumE   	 	, 10	,500 )  ,
    											new Same     (  "email" 		,	"cemail" 	                             ) 	,
    											new Same     (  "pass" 			,	"cpass" 	                             ) 
    */
    										),	
    						$debug=false
    					);

    Voilà.... cela fait bcp de question....

    Merci à ceussss qui se pencheront sur mon problème
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Architecture de classe pour POO
    Par LegGohan dans le forum Langage
    Réponses: 7
    Dernier message: 09/11/2011, 11h28
  2. [PHP 5.3] Architecture de classes, découpage et héritage
    Par ETVigan dans le forum Langage
    Réponses: 4
    Dernier message: 23/09/2010, 15h55
  3. Réponses: 4
    Dernier message: 12/06/2009, 11h50
  4. Architecture, Operator, classe abstraite
    Par neptune dans le forum C#
    Réponses: 2
    Dernier message: 03/06/2008, 12h30
  5. [c++]Architecture des classes pour un jeu
    Par Pegasus32 dans le forum C++
    Réponses: 23
    Dernier message: 16/02/2005, 15h07

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