[11.x] Change scope for afterCreating
and afterMaking
callbacks
#51772
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.
Configuration variables/properties on factories can not be used in the
afterMaking
andafterCreating
callbacks because they bind to the wrong scope/instance.Configuration methods like
has
,for
,state
and many more create new instances via thenewInstance
method. This means, that theafterMaking
andafterCreating
are called with the scope of a prior instance. In most cases this is no problem unless one wants to use the configuration parameters of the current instance. Any changes, to the factory configuration made after theconfigure
call are trapped in later instances and thus not available in those callbacks.This pull request shifts the scope to the current factory instance when calling the callbacks, thus making the configuration of the factory instance available where the
make
orcreate
method was called.