Problem/Motivation
Follow-up to #2208429: Extension System, Part III: ExtensionList, ModuleExtensionList and ProfileExtensionList. After several comments on that issue, some cleanup and separation of concerns are needed before we can say the Extension system is good.
Proposed resolution
Some ideas have been suggested in #2208429: Extension System, Part III: ExtensionList, ModuleExtensionList and ProfileExtensionList:
- Breaking up into smaller pieces for separation of concerns: @donquixote #132#140
- Mutability / immutability: @donquixote #137
- Making the extension info a proper Extension class property: @donquixote #136, now extracted into a separate issue #3035618: Extension.php code quality: declare info array as public class field.
- Etc.
Remaining tasks
- Discuss
- Patches
- Reviews
- Commit
User interface changes
None
API changes
TBD
Data model changes
None
Comments
Comment #2
almaudoh commentedComment #3
donquixote commentedThe ExtensionList does not yet exist. (only in proposed patches).
So how can we refactor something that does not exist yet?
(not sure what I expect from this question..)
Comment #4
almaudoh commentedYeah. This should be postponed on #2208429: Extension System, Part III: ExtensionList, ModuleExtensionList and ProfileExtensionList. Considering there are so many other issues being raised for the extension system, this may eventually get swallowed up or repurposed.
Comment #9
jibran#2208429: Extension System, Part III: ExtensionList, ModuleExtensionList and ProfileExtensionList is in.
Comment #11
gogowitsch commentedJust for everyone's information: I just added a small patch at #3035618: Extension.php code quality: declare info array as public class field to make PHPStan happy when analyzing the entirely unrelated Nagios Monitoring module.
Comment #12
andypostSounds like duplicate of #2024043: Add Module, Theme, Profile, and Extension value objects
Comment #20
andypostComment #24
nicxvan commentedI'm not sure this is needed.