...
- you only register class once in unit config and class itself then knows how to integrate with system
- no need to create several configuration options for thing, e.g. (all things below aren't yet committed):
- we register router class (with on configuration option) and specify it's priority (with another configuration option) - Routing Ideas
- we register CLI command class (with on configuration option) and specify that it should be used (with another configuration option) - [console] Use Symfony Console Component for Automation [5.3.0-B1]
- we register scheduled task class (with on configuration option) and specify it's run schedule (with another configuration option) - Alexander Obuhovich’s Obuhovich's Home
To make this happen we need to, at class registration time (when unit config cache is rebuilt), also create records that will:
- record all implemented interfaces (for classes only)
- record all parent class/interfaces (for classes and interfaces)
- create method "
Factory::getSubClasses($class_name)
"