Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 17/09/2008, 10h49   #1
Nouveau Membre du Club
 
Inscription : avril 2008
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 94
Points : 39
Points : 39
Envoyer un message via MSN à DrDam
Par défaut utilisation d'eval pour une fonction générique

bonjour à tous, voila je voudrais faire un fonction générique :

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
public function cherche_cond($obj,$cond,$action)
	 {	
	 	eval("\$bool = \"$cond\";");
	 	if($bool==TRUE)
	 	{	
	 		return $obj;
	 	}
	 	else
	 	{
                 eval("return  \"$action\";");
	 	}
	 }

cette fonction est appelé par :

Code php :
$result=$this->cherche_cond($racine,"\$obj->suiv==NULL","\$obj->cherche_cond(\$obj->suiv,\$cond,\$action)");

pour infos :

je travail avec une liste chainé ....

et ça ne marche pas ... on me répond que j'essaye de convertir un objet en string ... lors du eval de la condition
DrDam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 11h38   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
ça va pas résoudre ton problème, mais eval rend ce code est particulièrement moche !
T'es vraiment obligé d'utiliser eval ?
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 11h50   #3
Nouveau Membre du Club
 
Inscription : avril 2008
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 94
Points : 39
Points : 39
Envoyer un message via MSN à DrDam
bah, ça m'éviterai d'écrire 6 fonctions différentes ... où seul le $action et/ou $cond sont différents ...

mais bon ....
DrDam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 12h02   #4
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Le problème avec eval c'est que c'est illisible, source de bugs, difficilement debuggable... bref inmaintenable.

Quel est ton besoin ?
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 12h12   #5
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Sinon essaie de remplacer
Code :
eval("\$bool = \"$cond\";");
par
Code :
eval("\$bool = $cond;");
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 12h22   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
Citation:
bah, ça m'éviterai d'écrire 6 fonctions différentes ... où seul le $action et/ou $cond sont différents ..
Et en utilisant des paramètres ?
sabotage 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 05h58.


 
 
 
 
Partenaires

Hébergement Web