Por curiosidad me puse a investigar sobre 'overloading' funciones en PHP y así dependiendo de la cantidad de parameros que le enviamos a una funcion, esta hara algo distinto. Por ejemplo, descubri que dentro de una funcion puedo llamar a func_num_args() que me devuelve la cantidad de parametros que fueron enviados y func_get_args() me devuelve un array con los datos de estos. Por la tanto puedo hacer:
Código PHP:
function prueba (){
if(func_num_args() > 0){
$parametros = func_get_args();
if($parametros[0] == 'algo'){
hago algo;
} else if($parametros[1]){
hago otra cosa;
}
}
}
prueba(1,2);
Código PHP:
function prueba ($var1, $va2){
if($var1 == 'algo'){
hago algo;
} else if($var2[1]){
hago otra cosa;
}
}
Código PHP:
foreach(func_get_args() as $parametro){
}
Pero mi pregunta es ¿Que tan recomendable es usar este metodo? ¿Hay algun riesgo de seguridad o memoria?
He buscado información sobre esto, pero es netamente documentación, me gustaria saber la opinion de programadores.
De antemano muchas gracias.