refactor: add AbstractConnectionResolver::prepare_page_info()
and only instantiate once
#3085
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.
What does this implement/fix? Explain your changes.
This PR refactors
AbstractConnectionResolver::get_page_info()
into an overloadable, protected::prepare_page_info()
.::get_page_info()
will now call that (or child) method, apply the filter, and store it in a newAbstractConnectionResolver::$page_info
property so future calls to the getter don't need to rebuild the array.This both improves DX (smaller footprint, only need to overload the actual
$page_info
logic in children, consistent return value regardless of when it is called), and potentially increases performance (if::get_page_info()
is called multiple times in the lifecycle).Does this close any currently open issues?
Part of #2749
Any relevant logs, error output, GraphiQL screenshots, etc?
Any other comments?
This PR is based on #3082 , which should be merged first.
Where has this been tested?
Operating System: Ubuntu 20.04 (wsl2 + devilbox + php 8.1.15)
WordPress Version: 6.4.3