Hi all!
Over the last couple of months, I have worked on introducing a dependency
injection mechanism into MediaWiki core (don't fear, no auto-wiring). My
proposal is described in detail at <https://phabricator.wikimedia.org/T124792>
(yea, TL;DR - just read the top and search the rest if you have a question).
Before we discuss this again on IRC at the RFC meeting on Wednesday (March 23,
2pm PST / 22:00 CEST due to daylight confusion), I would like to invite you to
review the proposal as well as the patches that are up on gerrit. In particular,
any feedback would be appreciated on:
* Introduce top level service locator
<https://gerrit.wikimedia.org/r/#/c/264403/29>.
* Allow reset of global services <https://gerrit.wikimedia.org/r/#/c/270020/>
* WIP: Make storage layer services injectable.
<https://gerrit.wikimedia.org/r/#/c/267692/>
Perhaps also have a look at the documentation included in the change, in
particular the migration part:
<https://gerrit.wikimedia.org/r/#/c/264403/29/docs/injection.txt>
Before commenting on design choices on gerrit, please have a look at T124792 and
see whether I have written something about the issue in question there. I would
like to focus conceptual discussion on the RFC ticket on phabricator, rather
than on gerrit. On gerrit, we can talk about the implementation.
I very much want this to move forward. Perhaps we can even get the first bits of
this merged at the hackathon. So, criticize away!
Thanks for your help!
-- daniel
PS: phabricator event page (still blank, we'll fix that soon):
<https://phabricator.wikimedia.org/E66/27>