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 :

utilisation d'eval pour une fonction générique


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 77
    Points
    77
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $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

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    ça va pas résoudre ton problème, mais eval rend ce code est particulièrement moche !
    T'es vraiment obligé d'utiliser eval ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 77
    Points
    77
    Par défaut
    bah, ça m'éviterai d'écrire 6 fonctions différentes ... où seul le $action et/ou $cond sont différents ...

    mais bon ....

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Le problème avec eval c'est que c'est illisible, source de bugs, difficilement debuggable... bref inmaintenable.

    Quel est ton besoin ?

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Sinon essaie de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval("\$bool = \"$cond\";");
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval("\$bool = $cond;");

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    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 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [FLASH MX] nom variable pour une fonction
    Par totoche dans le forum Flash
    Réponses: 2
    Dernier message: 20/12/2005, 14h00
  2. paramètres pour une fonction
    Par bul dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/05/2005, 07h49
  3. utilisation de getdate() dans une fonction ?
    Par devdev dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/03/2005, 17h40
  4. [MASM] Utiliser un .IF pour une comparaison de nombre signés
    Par Crisanar dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 24/11/2004, 16h32
  5. Utilisation de Getdate dans une fonction
    Par BaronSamdi dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/11/2004, 10h12

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