2010-01-19 6 views
0

Disons que j'ai une classe comme:Mise en méthode params

 
class SomeClass{ 
    function someAction($param1,$param2){} 
} 

Est-il possible d'obtenir des données d'analyse comme array('param1','param2')sans exécution réelle de la méthode? De préférence sans extensions php ou analyse de code préalable (fopen ...)

+0

ce que vous essayez d'accomplir? réflexion? –

Répondre

0

Grand, merci à vous tous, il a résolu avec quelque chose comme

 
$oRuleContainer = new cRuleContainer(); 
$rContainer = new ReflectionClass('cRuleContainer'); 

$rMethod = $rContainer->getMethod($aRule['method']); 
$aArgs = $rMethod->getParameters(); 

if($aArgs){ 
    foreach($aArgs as $refArgument){ 
     $arrPassedArgData[$refArgument->name]=$_POST[$refArgument->name]; 
    } 
} 

if(call_user_func_array(array($oRuleContainer,$aRule['method']),$arrPassedArgData)){ 
//success 
} 

Plus de détails à http://kurapov.name/rus/technology/web/php/reflection_php_brms/

1

Je pense que vous pouvez utiliser le Reflection class pour obtenir des informations sur la méthode et les paramètres.