Bonsoir a tous

Après avoir effectué des recherches sur internet, j'ai trouvé un code qui contient cette méthode :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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