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 :

Nom fonction sous forme de variable


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut Nom fonction sous forme de variable
    Rebonjour ...

    Suite à mon dernier post, j'ai encore un souci
    Comment faire en php un appel de fonction lorsque le nom de la fonction est une variable : exemple :

    $name = mafonction;
    echo $name($value1,$value2 ...);

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    Salut,

    tu peux utiliser l'instruction switch pour ça:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    switch ($name) {
    case "fonction1": fonction1 (...);
                        break;
    case "fonction2":  fonction2 (...);
                        break;
    case "fonction3":  fonction3 (...);
     
    }

  3. #3
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    non justement je ne peux pas, les fonctions sont aléatoire définient dans une classe externe rattaché à ma classe principale. J'aimerai donc pouvoir faire celà avec n'importe quelle fonction
    Fonction dont l'existence à été vérifiée

    exemple
    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
    class 1 :
    protected function test($value){
     
    }
     
    class 2 extends class 1 (avec $name = test)
    private unefonction($name){
     
     
      if(method_exists($this, $name)){
     
            return $this->$name($values ...);
     
      }
     
    }
    cet exemple ne sert à rien, il ne fait qu'a illustrer mon idée mon idée ...
    je regarde actuellement du coté de __call()

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    oups désolé, j'avais pas pris la peine de lire le premier post .

    Maintenant je l'ai fait et qu'est-ce que je vois dans le lien que t'as donné julp... une méthode qui s'appelle call_user_func qui a l'air de correspondre exactement à ce que tu veux... ouf je me suis rattrapé

  5. #5
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    ouep c'est exactement ce qu'il me falait ^^

    merci

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

Discussions similaires

  1. Nom d'une feuille sous forme de variable
    Par bigboy dans le forum Excel
    Réponses: 4
    Dernier message: 28/09/2010, 09h28
  2. [MySQL] ligne de code sous forme de variable
    Par serna dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/01/2010, 13h25
  3. Réponses: 4
    Dernier message: 02/03/2009, 00h16
  4. Condition de test sous forme de variable
    Par riete dans le forum Langage
    Réponses: 5
    Dernier message: 04/01/2008, 17h34
  5. Réponses: 17
    Dernier message: 03/10/2005, 11h16

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