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
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions