Buenas!
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:
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!