Steps to reproduce the issue
We currently have two parts left of non-namespaced code:
- "New" MVC (in libraries/joomla)
- JHtml (in libraries/cms)
JHtml
Currently this is not planned to be namespaced. We have introduced a registry system for j4 however the judgement has been made (to date) that moving core to use it would break components doing overrides of core jhtml methods (i.e. with how the register
command works which would need to go via the HTMLRegistry rather than in JHtml itself. (in j5 we would move https://github.com/joomla/joomla-cms/blob/4.0-dev/libraries/src/HTML/Registry.php the coreServiceMap
property here into the serviceMap
property).
"New" MVC
As this is used by things such as patchtester and JED it was considered too large a b/c break to immediately remove this in j4 and thus it was scheduled for removal in j5. There are also a small number of other 3rd party components we believe who might also use it and who with the current j5 deprecation would have a small amount of time to migrate back to the MVC layer.
It is possible in j4 we might move to a new model layer - which I prototyped in a previous GSOC (see https://github.com/joomla-framework/entities). This would only be if demand for it was required based on how people implement APIs and need things like relations and lazy loading of properties. However if done that would risk 3 MVC layers in core until j5.
Expected result
Informed Decisions to be made about whether to namespace. Keep unnamespaced. Whether we should merge the libraries/joomla and libraries/cms folders together.
I'm aware a lot of people have strong opinions on some of these b/c issues. So please keep things civil and don't fight each other otherwise I'll just lock this as a heated conversation and let production make the decision without community input.
Updated priority as this is a beta-blocker.
This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/28249.