HomePhabricator

Allow registration of Actions using a callback that returns an Action instance

Authored by JeroenDeDauw.

Description

Allow registration of Actions using a callback that returns an Action instance

Basically implementing what Brion suggested on wikitech

This allows for injecting dependencies while still only loading the actual class when needed.

Simple example:

$wgActions['epundo'] = function( Page $page, IContextSource $context = null ) use ( $differ ) {
$undoAction = new \EducationProgram\UndoAction( $page, $context );
$undoAction->setDiffer( $differ );
return $undoAction;
};

Change-Id: I6c0f4022f1df1ebaf9cd1a5fe4bd362d0ecc0d62

Details