call_user_func_array

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : call_user_func_array

par Truc » 03 juin 2008, 11:53

Modération :
Pascal L, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par JusTaGlinG » 01 juin 2008, 13:21

D'accord, en fait ma variable $arg était déjà un tableau donc je pensais que c'était bon !
Mais j'ai mis ma variable $arg dans un nouveau tableau pour qu'il y ai bien la forme "un tableau d'argument" dont le premier élément est un tableau lui même. Ca marche !

Merci beaucoup !

par Sékiltoyai » 01 juin 2008, 08:26

call_user_func_array prend un tableau d'arguments. Si la méthode prend 5 arguments tu lui passes un tableau contenant 5 valeurs, et naturellement elles ne seront plus sous forme de tableau mais distribuées dans les arguments. Pour toi c'est pareil sauf que tu n'as qu'un argument.

call_user_func_array

par JusTaGlinG » 01 juin 2008, 04:23

Salut à tous,
Dans le but de créer un constructeur surchargé pour ma classe, j'utilise la fonction call_user_func_array qui est appellé par ma fonction __call que j'ai redéfinis.


Petit problème :

Code : Tout sélectionner

private function __call($name, $arg){ return call_user_func_array(array($this, $name), $arg); }
A l'arrivé de la variable $arg dans la fonction __call (vérifié avec un var_dump), la variable est intacte, c'est un tableau associatif, tout va bien.

En revanche, une fois arrivé dans la fonction de destination ($name = '__construct1'), ma variable n'est plus qu'une string (vérifié avec un var_dump).

Savez vous d'où pourrait venir le problème ?

Merci !!

[/code]

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]