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 28/11/2010, 00h50   #1
Membre régulier
 
Inscription : mai 2005
Messages : 347
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 347
Points : 81
Points : 81
Par défaut Passer des Array à la fonction _call()

Slt à tous,

Je me heurte à un petit problème, bien basique sur le fond, mais dont je n'arrive pas à me dépêtrer...

En effet, je cherche à utiliser la fonction "magique" _call avec le passage en argument des array. Le problème, c'est que les arguments passés ensuite à la vrai fonction ne fonctionnent plus.

Code :
1
2
3
4
5
6
 
public function __call($method,$arguments) {
 
//Fct OK:
$result = $this->serv_paris->$method($arguments[0],$arguments[1],$arguments[2],$arguments[3],$arguments[4]);	
}
Quand je fais cela, ça marche, mais cela me condamne à connaître le nombre de paramètres. Dans mon cas, je ne connais pas le nombre de paramètres...
Je me retrouve donc avec un tableau de paramètres, qui se trouve être un tableau de tableaux et de String.

Ainsi, quand je fais:
Code :
1
2
 
$this->serv_paris->$method($arguments)
quand il passe les arguments à la vraie méthode, mes arrays deviennent "array"....

Mon idée était donc d'extraire purement et simplement le contenu de mon array "$arguments", pour le passer dynamiquement à ma méthode, mais je n'ai pas trouvé comment faire....

Je ne sais pas si j'ai étais très clair dans mes explications
Je vous remercie par avance pour votre aide !!
bobic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 01h03   #2
Membre régulier
 
Inscription : mai 2005
Messages : 347
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 347
Points : 81
Points : 81
Après 5H de recherche acharnée, il a fallu que je poste ici pour trouver la réponse

Code :
1
2
3
4
 
	public function __call($method,$arguments) {
		return call_user_func_array ( array($this->serv_paris,$method) , $arguments );
	}
voilou
bobic est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h40.


 
 
 
 
Partenaires

Hébergement Web