Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 09/02/2011, 14h38   #1
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
Par défaut appliquer une methode dynamiquement via des paramètres

Bonjour, je tente d'exécuter une méthode et ce dynamiquement dans une fonction
en faites j'ai une classe qui comprend mes réécritures et je souhaite appeller la classe avec une méthode mais ce sans avoir à écrire directement le nom de la méthode dans la fonction actuelle.
En faites je souhaite passez en paramètre le nom de cette méthode via un GET OU POST.
Bref, voici la fonction d'appel :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private function writeFile($lang,$module,$date,$string,$options_string=array(),$configloc,$configlastmod){
		/*instance la classe*/
        $sitemap = new magixcjquery_xml_sitemap();
        // Appel de la class dcglobal_model_string en mode static avec arguments
        $callRewrite = forward_static_call_array(array('dcglobal_model_string', $string), $options_string);
		foreach($module as $data){
	       	$sitemap->writeMakeNode(
			    dcglobal_model_host::domain_setting().$callRewrite,
			    $date,
			    $configloc,
			    $configlastmod
	        );
	     }
	}
Ce qui m'étonne c'est la fonction forward_static_call_array, elle permet bien d'appeler les méthodes d'une classe static avec leurs paramètres ?
Est ce bien de cette manière que je peux exécuter une méthode de manière dynamique ?
Je viens de me rendre compte que cette fonction est utilisable uniquement sous php 5.3.
Je vais devoir utilisé call_user_func_array(), c'est le même principe je suppose
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.
AFUP 2009 : Bien optimiser son code pour le référencement
Mon projet open source de librairie PHP 5: magix cjquery
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 14h43   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
forward_static_call_array c'est en PHP 5.3
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 14h46   #3
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
Effectivement j'ai éditer mon message avant votre post.
je vais devoir utilisé call_user_func_array sur le même principe
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.
AFUP 2009 : Bien optimiser son code pour le référencement
Mon projet open source de librairie PHP 5: magix cjquery
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 14h48   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par gtraxx Voir le message
Effectivement j'ai éditer mon message avant votre post.
je vais devoir utilisé call_user_func_array sur le même principe
ouai c'est plus ou moins la même chose, forward_static_call_array ne peux etre utilise que dans une classe, ca te permet de pouvoir utilise static, et parent, mais je crois que ca marche aussi avec call_user_func_array, faudrait que je fasse quelque tests pour voir la vrai difference
__________________
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 06h24.


 
 
 
 
Partenaires

Hébergement Web