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

PHP & Base de données Discussion :

Appel d'une fonction au nom généré dynamiquement


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Par défaut Appel d'une fonction au nom généré dynamiquement
    Bonjour,

    J'aimerais programmer une fonction qui fonctionne à la manière de usort(), c'est à dire qui reçoit un nom de fonction en paramètre (callback function) mais je ne sais pas comment appeler une fonction à partir de la chaîne de caractère. Comment fait-on?

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 887
    Par défaut
    Salut,

    Tu as la possibilité d'utiliser la fonction eval

    A+

  3. #3
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027

  4. #4
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    A noter que tu as également la possibilité de le faire "a la sauvage" comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function plus($a, $b) {
    return $a+$b;
    }
     
    function moins($a, $b) {
    return $a-$b;
    }
     
    function test($nom, $val1, $val2) {
    return $$nom($val1, $val2);
    }
     
    echo test('plus', 1, 2);
    echo test('moins', 1, 2);

  5. #5
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Fladnag : "return $nom($val1, $val2);" suffit. "$$nom" c'est dans le cas d'une variable, pas une fonction.

  6. #6
    Membre émérite
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Par défaut
    Ne pas oublier function_exists()... .. .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return (function_exists($nom)) ? $nom($val1, $val2) : false;
    @ tchaOo°

  7. #7
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Citation Envoyé par Kioob
    Fladnag : "return $nom($val1, $val2);" suffit. "$$nom" c'est dans le cas d'une variable, pas une fonction.
    ouups, oui, tu as raison ;o)

Discussions similaires

  1. [AC-2003] Insérer un paramètre dynamique dans une macro pour l'appel d'une fonction
    Par OphyTe dans le forum Macros Access
    Réponses: 11
    Dernier message: 10/02/2015, 15h01
  2. Réponses: 5
    Dernier message: 13/04/2010, 15h30
  3. Réponses: 4
    Dernier message: 05/01/2009, 22h24
  4. Réponses: 4
    Dernier message: 18/01/2007, 05h46
  5. Appel d'une fonction C avec nom de fichier en paramètre
    Par vince3320 dans le forum Fortran
    Réponses: 4
    Dernier message: 21/11/2006, 14h58

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