for example - generated code contains such block:
public function save(PropelPDO $con = null)
{
foreach (sfMixer::getCallables('BaseSampleModel:save:pre') as $callable)
{
$affectedRows = call_user_func($callable, $this, $con);
if (is_int($affectedRows))
{
return $affectedRows;
}
}
...
}
on callable getting framework searches for 'BaseSampleModel:save:pre'
It's internal rule creation for behavior events:
sfMixer::register('Base'.$class.$hook, $callable);
For calling somth. before model saving:
1. add to propel.ini
propel.builder.addBehaviors = true
2. Register handlers (you can add code to the end of domain object)
sfPropelBehavior::registerHooks('before_instance_creation', array(':save:post' => array('SampleModel', 'createNewParamInstance')));
sfPropelBehavior::add('SampleModel', array('before_instance_creation'));
after that - hook will be registered. so - on hook handling
SampleModel::createNewParamInstance
will be executed.3. Add callable
class SampleModel extends BaseSampleModel
{
...
public static function createNewParamInstance($obj) {
// GO !
}
}
No comments:
Post a Comment