Me gusta crear mis funciones de PHP usando key => value pairs (arrays) como argumentos en lugar de parámetros individuales.Argumentos de función PHP: ¿usar una matriz o no?
Por ejemplo, yo prefiero:
function useless_func($params) {
if (!isset($params['text'])) { $params['text'] = "default text"; }
if (!isset($params['text2'])) { $params['text2'] = "default text2"; }
if (!isset($params['text3'])) { $params['text3'] = "default text3"; }
echo $params['text'].$params['text2'].$params['text3'];
return;
}
Y que no me gustan:
function useless_func($text = "default text", $text2 = "default text2", $text3 = "default text3") {
echo $text.$text2.$text3;
return;
}
que había visto primero las cosas de esta manera extensa en el código base de Wordpress.
La razón por la que prefiero matrices:
- Parámetros de las funciones se pueden proporcionar en cualquier orden
- más fácil de leer código/más autodocumentado (en mi opinión)
- menos propenso a errores, porque cuando llamando a una función, debo investigar las teclas adecuadas del arreglo
Estaba hablando de esto con un compañero de trabajo y él dice que es inútil y solo lleva a código adicional y es mucho más difícil para establecer los valores predeterminados. Básicamente, él no está de acuerdo conmigo completamente en los tres puntos.
Estoy buscando algunos consejos generales y orientación de expertos que puedan proporcionar información: ¿Cuál es la forma mejor o más adecuada para hacer esto?
No entiendo por qué las personas en su mayoría no lo pasan de la manera que usted ha mencionado. Creo que es una manera flexible, incluso si alguien está trabajando en su función. Estoy desarrollando un marco que requiere raw_queries, y algunos más cosas. Y la capacidad de analizar una matriz de parámetros lo hace muy flexible. – DaAmidza