Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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/06/2011, 11h16   #1
Membre du Club
 
Avatar de betadev
 
Homme
Développeur Web
Inscription : octobre 2008
Messages : 80
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : Tunisie

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

Informations forums :
Inscription : octobre 2008
Messages : 80
Points : 56
Points : 56
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 :
1
2
3
4
5
6
7
8
public static function test()
{
	///code...
	if(?????????)
		$methode_appel = "static" ;
	else
		$methode_appel = "non static" ;
}
et Thanks
betadev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 11h21   #2
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 302
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 302
Points : 4 480
Points : 4 480
j'aurais tendance à dire non.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 17/06/2011, 12h02   #3
Membre actif
 
Homme Fabrice Agnello
Développeur informatique
Inscription : octobre 2010
Messages : 76
Détails du profil
Informations personnelles :
Nom : Homme Fabrice Agnello
Âge : 39
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 : 76
Points : 161
Points : 161
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.
Agnello Fabrice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 18h35   #4
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 548
Points : 2 548
Envoyer un message via Skype™ à rawsrc
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 :
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'
 
?>
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 23h15   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
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 ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h27.


 
 
 
 
Partenaires

Hébergement Web