Semantic MediaWiki and related extensions
SMW::Listener::ChangeListener::RegisterPropertyChangeListeners

Signature

use Hooks;
Hooks::register( 'SMW::Listener::ChangeListener::RegisterPropertyChangeListeners', function( PropertyChangeListener $propertyChangeListener ) {
return true;
} );

Example

use Hooks;
class ActOnPropertyChange {
public function registerPropertyChangeListener( PropertyChangeListener $propertyChangeListener ) {
$propertyChangeListener->addListenerCallback(
new DIProperty( 'PropertyFoo' ),
[ $this, 'onChange' ]
);
$propertyChangeListener->addListenerCallback(
new DIProperty( 'PropertyBar' ),
[ $this, 'onChange' ]
);
}
public function onChange( DIProperty $property, ChangeRecord $changeRecord ) {
if ( $property->getKey() === 'PropertyFoo' ) {
foreach ( $changeRecord as $record ) {
...
}
}
if ( $property->getKey() === 'PropertyBar' ) {
foreach ( $changeRecord as $record ) {
...
}
}
}
}
Hooks::register( 'SMW::Listener::ChangeListener::RegisterPropertyChangeListeners', function( PropertyChangeListener $propertyChangeListener ) {
$actOnPropertyChange = new ActOnPropertyChange();
$actOnPropertyChange->registerPropertyChangeListener( $propertyChangeListener );
} );

About | General disclaimer | Privacy policy