Hoy ha tocado el esperado repaso en la clase G de Gesbit. El asunto era, más que nada, mejorar la forma en que se pasaban los argumentos a los métodos de esta clase, usada, básicamente, por los temas y plugins de Gesbit.

Así, en lugar de métodos como este, por ejemplo:

', $after = '</li>'
){
  // Cuerpo del método
}
 
?>

Tenemos que ahora es menester un único argumento, un array asociativo, que puede incluir más de una "opción", por llamarlo así:

 false,
    'minCount' => 1,
    'maxTags' => 40,
    'before' => '<li>',
    'after' => '</li>'
  );
  $args = array_merge($defaultArgs, $args);
 
  // Resto del cuerpo del método
}
 
?>

Es algo muy similar a como se hace en Wordpress, de ahí cogí la idea, salvo que, en Gesbit, no pueden darse argumentos de tipo "cadena" y/o "Array" (tal vez en Wordpress sea así por cuestiones de compatibilidad hacia atrás), de modo que no es preciso usar una función que "parsee" los argumentos: siempre ha de ser un Array asociativo.

Quiere decirse que buena parte de los métodos de la clase G siempre contarán con argumentos/opciones por defecto. No será preciso, por tanto, argumento alguno, pero, en caso de que se quiera o se necesite, siempre habrá de pasarse un Array asociativo, tal como se espera, con las opciones que nos interese.

En realidad tengo que darle un repaso al asunto, pero, básicamente, la idea era esa: evitar métodos con demasiados argumentos, que pudieran añadirse argumentos (opciones) "escalando" los existentes. Ahora, probablemente tenga que documentar de nuevo esta clase, con el fin de dejar claras las distintas opciones y sus posibles valores.

Además, a la vez que hacía esto, he descubierto algunos errores, que, si bien no parecían tener importancia, ya que estaba, obviamente he corregido. He actualizado mis tres bitácoras (gestionadas con Gesbit) y parece que todo va bien, y eso que he tenido que hacer cambios en prácticamente todos los métodos de la clase G de Gesbit.