[RESUELTO]:cual es la diferencia entre beforeSave() y onBeforeSave()?

Hola, yo siempre he trabajado con ‘beforeSave()’ en el modelo para que me haga alguna tarea antes de ejecutar la función ‘save()’ pero hoy vi que había otra función que se llama ‘onBeforeSave()’ y la verdad no entiendo como funciona ni cuando utilizar una u otra o si son lo mismo.

De ante mano muchas gracias por las respuestas que me puedan brindar.

Bueno

por lo que vi, el beforeSave por defecto hace:




   $this->raiseEvent('onBeforeSave',$event); //CActiveRecord



(mira CComponent, public function raiseEvent($name,$event) para saber mas sobre esto)

y en la documentacion de befeoreSave http://www.yiiframework.com/doc/api/CActiveRecord#beforeSave-detail te recomiendan llamar al beforeSave por defecto

por lo que tienes dos opciones

  1. usas beforeSave y al final llamas a parent::beforeSave()

  2. usas onBeforesave y al final haces un $this->raiseEvent(‘onBeforeSave’,$event);

yo creo que deberías usar beforeSave, porque algún día el master qiang

va a agregar algo al beforeSave y te vas a perder de ese comportamiento

en resumen: hacen lo mismo, en ambos debes hacer una llamada al final

Genial Horacio, muchas gracias! :)