Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1540 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP][resolu] appel de fonction avec nom généré dynamiquement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP][resolu] appel de fonction avec nom généré dynamiquement

n°1632171
metos
҉ OOoo hi-lo powered
Posté le 27-10-2007 à 18:52:20  profilanswer
 

Bonsoir :hello:
 
j ai un soucis
j aimerais generer le nom d une fonction pour pouvoir l appeler grace a la variable dans lequelle sera stocké ce nom. (tout ceci a l interieur d une classe)
 
voila un exemple pour illustrer.
j aimerai faire un truc dans ce genre, mais la syntaxe que j utilise n est pas correcte.
 

Code :
  1. class toto {
  2.     private $numero;
  3.     public function __construct() {
  4.         // bout de code qui recupere la valeur de $numero
  5.         ......
  6.         $methodeName = "this->methode_" . $this->numero;
  7.         $$methodeName();
  8.     }
  9.     private function methode_1() {
  10.         ......
  11.     }
  12.     private function methode_2() {
  13.         ......
  14.     }
  15.     private function methode_3() {
  16.         ......
  17.     }
  18.     //etc
  19. }


 
 
j imagine que ce type d appel doit etre possible
mais apres avoir cherché je n ai rien trouvé qui explique comment le faire dans le cas present
 
car hors classe j ai bien vu qu on pouvait simplement appeler le nom d une fonction par une variable suivi de ();
ex :  

Code :
  1. function toto() {
  2.     ....
  3. }
  4. $nomMethode = "toto";
  5. $nomMethode();


 
 
merci par avance :jap:


Message édité par metos le 28-10-2007 à 00:59:21

---------------
icite ca shoot : albphoto.fr   //   la ca bricole : albworkshop.fr  //  A VENDRE Canon ST-E2
mood
Publicité
Posté le 27-10-2007 à 18:52:20  profilanswer
 

n°1632212
metos
҉ OOoo hi-lo powered
Posté le 28-10-2007 à 00:18:30  profilanswer
 

:: c est pour les appel static  
 
j ai ce message  


Fatal error: Access to undeclared static property: toto::$methode_1


 
ton exemple appel un propriete alors que moi c est une fonction que je veux appeler
 
ce que je veux c est pouvoir appeler (dans le constructeur) la methode/fonction portant le numero de $numero.


---------------
icite ca shoot : albphoto.fr   //   la ca bricole : albworkshop.fr  //  A VENDRE Canon ST-E2
n°1632216
metos
҉ OOoo hi-lo powered
Posté le 28-10-2007 à 00:57:49  profilanswer
 

j ai obtenu la solution sur le forum developpez.com
 
 
 
j ai utilisé ca  

Code :
  1. $methodeName = "methode_".$this->numero;
  2. $this->$methodeName()


 
edit : je n avais pas vu que tu avais edité ton post
je n ai pas testé ta 2e proposition.


Message édité par metos le 28-10-2007 à 00:59:54

---------------
icite ca shoot : albphoto.fr   //   la ca bricole : albworkshop.fr  //  A VENDRE Canon ST-E2
n°1632219
naceroth
Posté le 28-10-2007 à 01:06:57  profilanswer
 

metos a écrit :


ton exemple appel un propriete alors que moi c est une fonction que je veux appeler
 
ce que je veux c est pouvoir appeler (dans le constructeur) la methode/fonction portant le numero de $numero.


 
Pourquoi ne pas faire un simple switch plutôt que tenter une cochonnerie sans nom ?
 
Parce que bon
 

Code :
  1. $methodeName = "methode_" . $this->numero;
  2. $this->$methodeName();


 
c'est pas vraiment très propre...

n°1632221
ze_jua
-- Winners don't use drugs --
Posté le 28-10-2007 à 01:21:16  profilanswer
 

Arg, bravo. J'étais en train de taper la solution :)  
 
Rigolo ton site Metos, au niveau des parties ça fait furieusement penser au mien quand j'étais jeune :)
 
A++

n°1632230
metos
҉ OOoo hi-lo powered
Posté le 28-10-2007 à 02:42:01  profilanswer
 

ze_jua a écrit :

Arg, bravo. J'étais en train de taper la solution :)  
 
Rigolo ton site Metos, au niveau des parties ça fait furieusement penser au mien quand j'étais jeune :)
 
A++


 
 
il est un peu a l abandon depuis un moment le site que j ai en signature...
je bosse sur autre chose la.
 
qu entends tu par "parties" ?
 
edit : merci pour votre aide en tout cas :jap:


Message édité par metos le 28-10-2007 à 02:45:57

---------------
icite ca shoot : albphoto.fr   //   la ca bricole : albworkshop.fr  //  A VENDRE Canon ST-E2
n°1632262
ze_jua
-- Winners don't use drugs --
Posté le 28-10-2007 à 10:55:03  profilanswer
 

Les parties du site : Home, 2d, 3d :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP][resolu] appel de fonction avec nom généré dynamiquement

 

Sujets relatifs
[HTML/PHP] Erreur simple dans code, mais introuvable[Résolu] Url stockée et lien HTML
[résolu] changement de texte à un endroit précis avec _ onmouseovervba - userform - composant calendrier RESOLU
[PHP + FPDF] footer[RESOLU] ouverture et fermeture d'une popup
[PHP/HTML] formulaire avec plusieurs champs hiddenProblème de calibrage PHP GD et imagettftext
Passer une variable dans une fonction[SQL,ORACLE]Message d'erreur mutating, trigger....(RESOLU)
Plus de sujets relatifs à : [PHP][resolu] appel de fonction avec nom généré dynamiquement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR