Skip to content

Add bootExtensions() to Manager boot() #1

@dalabarge

Description

@dalabarge

Problem: There's no clean way to extend the manager without actually extending the class itself. This leads to the child class' boot() method having to call the parent::boot() in order to maintain existing functionality and introduce any new functionality. While this is still code and therefore better than a config approach, being able to register extensions to the manager class without having to reference the parent::boot() while simultaneously being able to extend the boot process would be better. Additionally such a solution would allow for better class encapsulation of related boot extensions making micro service development and vertical slicing of an application more maintainable.

Solution:

  • Add an interface for Extension
  • Add extend() method to Manager
  • Add a conditional bootExtensions() call to boot() method of Manager

Note: This should be implemented such that it is not a breaking change to 1.0 behavior but simple an improvement for 1.1 integrators to make use of.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions