[Php-objetos] Parametros de un metodo
Gerardo Valiani
gerardovaliani en gmail.com
Mar Feb 10 23:11:40 ART 2009
Suporongamos que tengo este metodo: public function
myMetodo($valor1=false, $valor2=false);
Me hincha un poco los cocos al momento de pasarle los parametros.
Porque si quiero pasarle solo el $valor2, no puedo sin pasarle
$valor1. Es decir no puedo hacer: myMetodo($valor2); Porque ese valor
me lo va a tomar para $valor1. Asi que debo hacer por lo menos
myMetodo(false, $valor2); No estoy diciendo nada nuevo. La pregunta
viene a continuacion. Investigando como hacer para pasarle solo los
parametros que uno quiere y que el metodo sepa que le estoy pasando.
Se me ocurrio que podia hacer que todos los metodos solo reciban un
solo parametro de tipo array y que dentro del metodo, convierto el
array en variables con un extract(). Entonces yo podria hacer
myMetodo(array('valor2'=>'algo'));
El metodo seria:
public function myMetodo($parametros){
extract($parametros);
//resto del script;
}
Tambien se me ocurrio que los metodos podrian recibir un solo
parametro de tipo string y parsearlo dentro de los metodos. Pero me
parece mejor idea lo del extract.
Si bien en la practica esto funcionaria. Esta bien o no?
Saludos!
Más información sobre la lista de distribución Php-objetos