apantle / hashmapper

Minimalistic utility to apply mapping rules to associative arrays in PHP (hashmap for friends)
0 stars 0 forks source link

Input / Output filter options #13

Open tzkmx opened 5 years ago

tzkmx commented 5 years ago

Para ampliar un poco el alcance de la aplicabilidad de esta librería, podemos proporcionar simplemente un par de opciones a cada hashMapper, que funcionen como filtros de entrada, y así pudiendo implementar fácilmente algoritmos más complejos como transformar y validar un objeto mediante un simple helper, y sanitizar la salida como excluir claves con informes de error que sería deseable loggear en un servicio externo pero no devolver al usuario final en el frontend, por poner un ejemplo.

Esto puede ser conseguido con relativa facilidad mediante un par de opciones para el hashMapper, sería útil para otros casos, poder obtener un collectionMapper con filtros para toda la colección, distintos a los que se aplicarían a cada elemento de la colección recibida.

tzkmx commented 5 years ago

Otro caso interesante para el filtro de salida, es rehidratar con el array transformado por las reglas del hashMapper, devolviendo un objeto distinto. Sería interesante poder implementar estas opciones de manera declarativa muy simple al menos en los casos en que objetos de entrada y salida implementen interfaces bien definidas como ArrayAccess o JsonSerializable.