omegaup/omegaup — pull request #497 by pabloaguilar (2014-01-28 09:23:53+00:00)
Title: Controller set properties

La idea del cambio es no tener los `if (!is_null(source)) dest = source` en los apiUpdate. Y para eso, le sacamos provecho a que PHP es dinamico y se pueden generar los nombres de funciones a llamar (getters/setters) sobre la marcha.

Se pueden especificar propiedades usando la version "simple", solo listando el nombre de la propiedad; y usando la version avanzada, de la forma:
["NombreBaseDeLosAccessors", recordar_el_cambio, callback_para_transformar_la_fuente]

Es algo ineficiente porque en cada llamada a los apiUpdate se regeneran los arreglos de propiedades a cambiar, pero eso creo que se arregla facil. La otra ineficiencia es el computo de los getters/setter por cada propiedad.

Que piensan?