Now that TitleValue has been merged - what's next? I'll admit I'm an odd
choice to be sending out this email [1], but someone's got to do it. So,
I'm thinking, maybe:
1. Start on the TODO in Linker.php [2], turning it into a deprecated
compatibility interface calling HtmlPageLinkRenderer.
2. Start writing code in the same fashion for an upcoming project. I
believe the upcoming revision storage work might lend itself well to this.
Also, I think we should think about how we want interdependent components
to come together. Right now everything must know how to make all of its
dependencies. For example, LinksSearchPage must know how to build
MediaWikiTitleCodec. That isn't a hardship now, but might become one when
we have 30 things like LinksSearchPage and we want to add another
dependency to MediaWikiTitleCodec.
I don't claim to know a whole lot about the state of the art for this
problem in PHP but I'm used to solving it with an inversion of control
container. Each component declares its dependencies in some way and the
container makes sure that each component gets the dependencies it needs.
Do we need something like this now or will we need something like this in
the future?
Nik/manybubbles
[1]: I was the most against TitleValue at the Architecture Summit but have
since softened my opinion. Also, the vast majority of my work is in the
CirrusSearch extension and not core.
[2]:
https://gerrit.wikimedia.org/r/#/c/106517/22/includes/Linker.php,cm