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 :

savoir le type d'appel d'une méthode d'une classe


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de betadev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 94
    Points : 94
    Points
    94
    Par défaut savoir le type d'appel d'une méthode d'une classe
    Bonjour , et bonne matinée ,

    Je veut savoir s'il y a une fonction php qui permet de savoir le type d'appel d'une méthode s'il est statique ou pas ? ci dessous le code exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static function test()
    {
    	///code...
    	if(?????????)
    		$methode_appel = "static" ;
    	else
    		$methode_appel = "non static" ;
    }
    et Thanks
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    La programmation ce n'est pas de la magie , c'est simplement de la logique

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    j'aurais tendance à dire non.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 80
    Points : 169
    Points
    169
    Par défaut
    Bonjour,

    vous pouvez le faire via l'API de reflection de PHP, en utilisant :
    reflectionclass

    puis en appliquant la méthode getmethod('test') sur l'objet retourné précédemment qui vous renverra à son tour un objet ReflectionMethod sur lequel vous aurez toutes les informations dont vous avez besoin, et dans ce cas précis, la méthode isStatic.

    HTH.

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Connaître au moment d'un appel d'une fonction, le contexte de l'appel me paraît impossible. Par contre tu peux t'en sortir avec un code de ce genre (PHP 5.3+)
    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
    17
    18
    19
    <?php
     
    class Foo {
     
       static function __callStatic($name, $arguments) {
          return 'static call';
       }
     
       function __call($name, $arguments) {
          return 'dynamic call';
       }
    }
     
    $a = Foo::test();  // $a = 'static call'
     
    $b = new Foo();
    $c = $b->test();   // $c = 'dynamic call'
     
    ?>

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    l'inverse aurai pu marcher, mais la non, bien que ça soit correct d’appeler non statiquement une méthode statique, quel est le but final de la chose ?

Discussions similaires

  1. [Free Pascal] 64 bits : appel dans un thread d'une méthode d'une librairie dynamique
    Par Invité dans le forum Free Pascal
    Réponses: 0
    Dernier message: 21/04/2013, 16h20
  2. [PHP 5.3] [POO] Appel d'une méthode dans une méthode
    Par yann18 dans le forum Langage
    Réponses: 6
    Dernier message: 20/10/2011, 09h56
  3. Appeler une méthode d'une applet dans une jsp
    Par salmoucha10 dans le forum Applets
    Réponses: 1
    Dernier message: 11/01/2011, 19h25
  4. Réponses: 6
    Dernier message: 20/04/2007, 15h24
  5. "ajouter une méthode dans une méthode"
    Par Zorgloub dans le forum Langage
    Réponses: 1
    Dernier message: 09/04/2006, 12h53

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