Fonctionnement d'une méthode
Bonsoir a tous ;)
Après avoir effectué des recherches sur internet, j'ai trouvé un code qui contient cette méthode :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
public function display_error($message){
if(func_num_args()>1){
$arguments = func_get_args();
$command = "\$message = sprintf(\$message, ";
for ( $i = 1; $i < sizeof($arguments); $i++ ){
$command .= "\$arguments[".$i."], ";
}
$command = eregi_replace(", $", ");", $command);
eval($command);
}
echo "<b>phpXML error:</b> ".$message;
exit;
} |
est ce quelqu'un peut m'aider a comprendre son fonctionnement?
ce que j'ai déjà compris :
- if(func_num_args()>1) : vérifier si la méthode a été appeler avec un nombre d'argument supérieur a 1.
- $arguments = func_get_args(); : prendre les arguments et les mettre dans le tableau $arguments.
- $command = "\$message = sprintf(\$message, "; : !!!!!!!
- for ( $i = 1; $i < sizeof($arguments); $i++ ) : parcourir la liste des arguments.
- $command .= "\$arguments[".$i."], "; : ajouter les arguments un par un dans la variable $command.
- $command = eregi_replace(", $", ");", $command); : !!!!!!!!!!!!!!!!
- eval($command); : executer le code PHP de la variable $command.
- echo "<b>phpXML error:</b> ".$message; : un echo classique.
- exit; : stopper l'exécution du script.
Donc ce que j'ai pas compris c'est :
$command = "\$message = sprintf(\$message, ";
et
$command = eregi_replace(", $", ");", $command);
Merci