Support multiple boot using callbacks #13220
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
I generally use the
bootUsing()
function quite often to provide a callback. One technique is use is to have an abstract base PanelProvider class and the actual panel provider extend this abstract class. That way, panel configuration can be applied to multiple panels at once. Currently, if I provide abootUsing()
in both the abstract base class and the actual panel provider that extends this, thebootUsing()
callback provided first will be overwritten by later calls. I remember seing a PR about this earlier, but I couldn't find it, so it could've imagined it. Another risk relating to this is when registering plugins, they also get access to the$panel
object and could (at any time) provide a custombootUsing()
, which could then overwrite the developer'sbootUsing()
from the panel provider class. I therefore thing it would be useful to store the callbacks as an array and call them one by one, in order to prevent such over-writing issues (and also make it safe for plugins to usebootUsing()
).Thanks!
Functional changes
composer cs
command.