eval...
Posté : 25 juil. 2009, 17:16
Salut les gens,
Voila, je dois lancer une fonction d'une class (inconnue de base) dont l'identité n'apparait qu'en variable utilisateur et de type abstraite. Présentement j'utilise un eval() (ca marche biensur)
mais je me demande si, justement, il n'y aurait pas une autre méthode qui soit moins
gourmande en ressource et plus joli... Je dois avouer que ce code avec toutes ces $values
c'est assez moche
.
A bientôt et bon code @+
Voila, je dois lancer une fonction d'une class (inconnue de base) dont l'identité n'apparait qu'en variable utilisateur et de type abstraite. Présentement j'utilise un eval() (ca marche biensur)
mais je me demande si, justement, il n'y aurait pas une autre méthode qui soit moins
gourmande en ressource et plus joli... Je dois avouer que ce code avec toutes ces $values
c'est assez moche
class MyClass extends ...
{
.
.
.
/**
* @function : boolean dispatch(void)
*
* @param : none
* @return : bool
*
* @comment : none
*/
public function dispatch()
{
/**
* Test et attribution selon résultat
*/
if (!isset($this -> _urlEnvironment[url])) $url = "index";
else $url = $this -> _urlEnvironment[url];
/**
* @string, nom du fichier
*/
$fileName = $url."xxx.php";
if (!file_exists("./xxx/xxx/".$fileName)) exit(-1);
require_once("./xxx/xxx/".$fileName);
/**
* @string, nom de la class
*/
$className = ucfirst($url)."xxx";
/**
* @string, nom de la fonction
*/
$fct = $url."Action";
eval($className."::".$fct."();");
return true;
}
}
Si l'un de vous a une idée, merci d'avance.A bientôt et bon code @+