A ver si me podéis ayudar a acortar código en esto...
Tengo un include que son funciones para un proyecto PHP, con una estructura similar a esta:
Código PHP:
Ver original
<?php if($_GET['f'] === 'nombre_1') echo(nombre_1()); elseif($_GET['f'] === 'nombre_2') echo(nombre_2()); elseif... else echo ''//404 / error function nombre_1(){ } function nombre_2(){ } ... ?>
Antes de acabar el proyecto y colgarlo (lo tengo en local) tengo pensado introducir los parámetros $_GET que recibe este include en una tabla de una base de datos, para después comprobar mediante una consulta si es un parámetro "adecuado", y si lo es ejecutar la función... es decir, algo así como:
Código PHP:
Ver original
//error //llamar a la función
Pero me gustaría saber si podría, por ejemplo, (supongo que si) hacer un array asociativo, para evitar todo el bloque "if", y hacer simplemente:
Código PHP:
Ver original
$params = tomaParametros(); //recoge los parámetros válidos de la base de datos echo(''); //error echo($params[$_GET['f']]);
Teniendo en centa que previamente el $_GET está escapado (sin caracteres "raros", para evitar inyección).
¿Es posible hacer algo así? Me pareció ver que se puede usar "eval()" en PHP, pero no estoy seguro...
Gracias!