Durant toutes ces années, j'ai développé en php, j'ai toujours entendu dire que l'utilisation d' eval()
est le mal.
Considérant le code suivant, ne serait-il judicieux d'utiliser la seconde (et la plus élégante) option? Si non, pourquoi?
// $type is the result of an SQL statement
// e.g. SHOW COLUMNS FROM a_table LIKE 'a_column';
// hence you can be pretty sure about the consistency
// of your string
$type = "enum('a','b','c')";
// possibility one
$type_1 = preg_replace('#^enum\s*\(\s*\'|\'\s*\)\s*$#', '', $type);
$result = preg_split('#\'\s*,\s*\'#', $type_1);
// possibility two
eval('$result = '.preg_replace('#^enum#','array', $type).';');