Dos sugerencias para mejoras en TOBA

Hola, quería hacer dos sugerencias que por lo que estuve viendo, al menos una de ellas no sería dificil de implementar.

Por un lado, estaría bueno que el autoload detecte ‘traits’ además de clases e interfaces, ya que hasta ahora intenté hacer uso de estos en mi proyecto pero como el generador de los autoloads no los encuentra. Por lo que ví solo habría que modificar el regex del toba_extractor_clases.php

Por otro lado, algo quizás un toque mas complejo ya que es un cambio un poco mas transversal a los componentes en general, es que el método set_datos($datos) de los componentes que lo implementan, admitan no solo arrays sino objetos que implementen la interfaz ArrayAccess, ya que muchas veces resulta muy comodo trabajar con objetos directamente pero a la hora de mostrar los datos en un componente me veo obligado a convertirlos a un array, cuando podría hacerse directamente si se admitiera objetos que implementen ArrayAccess.

Saludos !

Hola Daniel,

con respecto a tus sugerencias, la parte del Trait la acabo de subir… calculo que en un rato hago el merge a las otras ramas.

Por el lado de arrayAccess si va a haber algun detalle, ya que como bien decis se requiere un cambio en la forma que los componentes laburan con los datos, es un tema que tengo que mirar mas… tanto para toba en el interior, como sobre las posibilidades reales de arrayAccess, si tenes mas info al respecto o me podes orientar a algo en particular, te lo agradezco.

Saludos

Hola Richard, genial con lo de los traits. Gracias!

Respecto de lo del ArrayAccess, lo que garantiza la implementación de esta interfaz en si es que se pueda acceder a datos de un objeto como si fuera un array ( $objeto[‘clave’] ). El problema al intentar usarlos en Toba como datos es que en los lugares donde quise hacerlo , no funcionaba porque el método set_datos($datos) validaba que los elementos contenidos en $datos sean justamente un arrays (hacía específicamente is_array($muestra) ). Por lo que ví , el cambio necesario sería sobre estas validaciones, ya que despues, se trata al objeto cual un array y no serían necesarios mas cambios. El problema sería saber con exactitud en que lugares se realizan estas validaciones. Por lo pronto, el único lugar donde yo lo vi (aunque no busqué demasiado) es en la clase toba_ei_cuadro, porque es donde lo intenté usar.