Código PHP:
y estoVer original
<?php mi_funcion($alto = 95 , $ancho = 120 , $profundidad = 40 , $color = 'blanco') ?>
Código PHP:
La diferencia es que el segundo ejemplo tiene más facilidad de uso para eventuales usuarios finales que no saben mucho de programación (por ejemplo diseñadores web).Ver original
<?php mi_funcion('alto=95¬ancho=120&profundidad=40&color=blanco') ?>
Si desarrollamos un proyecto que nos exige orientar la programación hacia la reutilización por parte de terceros del código que generamos, ésta es una propuesta viable. Podemos construir una "semi-API" sencilla y generar etiquetas tipo WordPress listas para usar.
Lo primero que haremos será quitar prestada cierta función nativa de WordPress que trabaja sin problemas de forma independiente:
Código php:
Ver original
function wp_parse_args( $args, $defaults = '' ) { $r =& $args; else return $r; }
Ahora construiremos nuestra función como siempre, pero con algunas ligeras diferencias. Desde luego todos los parámetros serán parte de un array inicial, al cual podemos asignar valores por defecto. Aprovecharé de colocar el código completo para ser probado de una vez:
Código php:
Ver original
<?php function wp_parse_args( $args, $defaults = '' ) { // La función de WordPress $r =& $args; else return $r; } function mi_funcion($a = null) { // Nuestra función 'alto' => 95, 'ancho' => 120, 'profundidad' => 40, 'color' => 'blanco' ); $r = wp_parse_args($a, $params); // Usamos la función de WP justo aquí //Ya hemos convertido las claves en variables y trabajamos a nuestro antojo $html = '<p>Ancho: '. $ancho .' - Alto: '. $alto .' - Profundidad: '. $profundidad .' - Color: '. $color .'</p>' . "\n"; return $html; } echo mi_funcion('alto=200&color=Gris Perlado'); // Probando ?>
Personalmente prefiero aplicar este método hasta para usarlo yo mismo, debido a lo cómodo que resulta anotar los parámetros.
El método no impide expresar la función de la forma tradicional, cuyo resultado es el mismo si escribimos:
Código php:
Ver original
'alto' => 200, 'color' => 'Gris Perlado' ));
Referencia: Ubicación exacta de la función en el sistema de archivos WordPress