Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/12/2010, 15h45   #1
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

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

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut Appel fonction d'une classe et tableau

Rebonjour (pour certains)

J'ai un tableau qui contient (des pointeurs ?) sur des classes.
Chacune de celle-ci ont une méthode "isFieldValid"
Dans ma class "Form" qui contient un tableau de classe, j'ai:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
* 		Validator
*		=========
*/	
		public function isFormValid()
		{	$this->formValid = false ;
			foreach ($this->tab_field as $key => $val)
			{	$class_name = get_class($val) ;
				var_dump($class_name) ; OK, affiche "Date"
				switch($class_name)
				{	case "Date"	:	 77 ==> $ok = $key->isFieldValid() ;
									break ;
									
					default		:	throw new exception("Class_Name undefined in swith statement") ;
				}
				$this->formValid = $this->formValid && $ok ;
			}
			return($this->formValid) ; 
		}
Comme dois-je appeler la méthode isFieldValid de la classe Date stockée dans le tableau $Tab_Field ?

Mon tableau est ainsi crée:

Code :
1
2
3
4
5
6
 
$birthdate 	= new Date (  "naissance"	,   MUST    ,   "Date de naissance"                 ,   TODAY              			) ;
	$birthdate->setDefault() ;
 
	$form 		= new Form(NULL,NULL,NULL,"test");
	$form->addField($birthdate) ;
Merci à tous
Je passe bien dans mon foreach car j'ai dans le log.php:

Code :
PHP Fatal error:  Call to a member function isFieldValid() on a non-object in F:\WebSites\date\class\form.php on line 77
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 15h51   #2
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
tout d'abord :

Citation:
throw new Exception
Ensuite tu interroges la clé de ton tableau au lieu d'interroger sa valeur :

Code :
1
2
 
$ok = $val->isFieldValid();
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 16h00   #3
Débutant
 
Avatar de ETVigan
 
Homme Esteban
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 632
Détails du profil
Informations personnelles :
Nom : Homme Esteban
Localisation : France, Gard (Languedoc Roussillon)

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

Informations forums :
Inscription : avril 2010
Messages : 632
Points : 122
Points : 122
Envoyer un message via MSN à ETVigan Envoyer un message via Skype™ à ETVigan
Par défaut Problème de classe DATE

Merci Madfrix....

Assez boulotter pour ajd'hui.... la suite demain matin...

Bon réveillon
__________________
Esteban
ETVigan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h42.


 
 
 
 
Partenaires

Hébergement Web