To demonstrate a feature of JHtml::_(), I'm suggesting to rename the JHtml helper class in the install app to demonstrate how that method can use a three part key.
Details
JHtml::_() calls JHtml::extract() to turn the key supplied in the _ method's first argument into a class and method name. A standard two part key like bootstrap.modal will try to locate and call JHtmlBootstrap::modal(). A three part key like my proposed installationhtml.helper.stepbar will try to locate and call InstallationHtmlHelper::stepbar(). When three keys exist, the first key is used as the class name prefix (defaults to JHtml if not provided).
Why Make This Change?
There are a lot of features in JHtml that aren't well documented or used. By trying to demonstrate some of those features in the core code, we can show developers the advanced use cases of its internal API.
How to Test
Apply the patch and run the installer. Should still have a stepbar and no errors.
It does not affect backwards compatibility and makes life easier.
PS: I'd much rather have an autoloader and use the JHtml* classes directly without going through JHtml::_() but I know that this can't happen in Joomla! 3.
You can use the JHtml classes directly. But, one of the massively underdocumented features in JHtml is its register and unregister API which can allow you to specify functions to be called for different keys (as in you can overload the core JHtmlBootstrap class with a custom version supporting Bootstrap 3). And that's the only reason I actually suggest JHtml::_() actually be used. Without that feature, I'd deprecate all that key handler stuff and go for direct loading.
It does not affect backwards compatibility and makes life easier.
PS: I'd much rather have an autoloader and use the JHtml* classes directly without going through
JHtml::_()
but I know that this can't happen in Joomla! 3.