Updates the PHP dependency injection packages to 5.4#21905
Conversation
composer.lockDev Package changes
Settings · Docs · Powered by Private Packagist |
Pull Request Test Coverage Report for Build 67755dd3a5a859cd5f83bf0af71fd093a94d0c6bDetails
💛 - Coveralls |
a6de0f5 to
a67113f
Compare
|
A merge conflict has been detected for the proposed code changes in this PR. Please resolve the conflict by either rebasing the PR or merging in changes from the base branch. |
…pdate-di-container # Conflicts: # composer.lock
|
The composer.lock diff comment has been updated to reflect new changes in this PR. |
|
A merge conflict has been detected for the proposed code changes in this PR. Please resolve the conflict by either rebasing the PR or merging in changes from the base branch. |
…pdate-di-container # Conflicts: # composer.json # composer.lock
|
The composer.lock diff comment has been updated to reflect new changes in this PR. |
…pdate-di-container
|
The composer.lock diff comment has been updated to reflect new changes in this PR. |
|
Any chance this will see a release soon @josevarghese? Thank you. |
…ontracts scoper files." This reverts commit 536d713.
…pdate-di-container
|
The composer.lock diff comment has been updated to reflect new changes in this PR. |
jrfnl
left a comment
There was a problem hiding this comment.
Walked through it together and looks good to me.
We discussed that it would be a good idea as a follow-up to document properly somewhere the how & why of the dependency injection layer, which should make future updates more straight-forward to make.
Other than that, I've verified that if I run the tests locally now on PHP 8.4/8.5, the test runs no longer bork out, but finish (though with deprecation notices, but that is as expected and will be fixed in the near future).
Context
Important
Take not this PR needs to be merged together with https://github.com/Yoast/wordpress-seo-local/pull/2554
Also take a look at the source issue for linked in this PR for more next steps when we are merging this.
Summary
This PR can be summarized in the following changelog entry:
symfony/dependency-injectionpackage to version 5.4Relevant technical choices:
To make this work I needed to make a couple of changes. The first change was to also include some new files in our
php-scoperwhich are located inconfig/php-scoper/service-contracts.inc.phpthese files are needed for the DI container to compile so we need them to be copied over in our scoper.The second change made was to mark
src/introductions/infrastructure/introductions-seen-repository.phpas@makePublic. This is needed because with this update the default behavior for new classes that live inFreeand are used in any addon + premium is to be marked aspublic(false). This means that they are not included in the DI containers public classes. Which in practical terms means thatYoastSEO()->classes->get('...')no longer works. We want this since we do not want our entire codebase to be public API.This has no affect on existing classes which are located in folders that are included in the list in
/config/dependency-injection/loader-pass.phpin theprocess_definitionmethod.Test instructions
Test instructions for the acceptance test before the PR gets merged
This PR can be acceptance tested by following these steps:
composer require yoast/wordpress-seo:"dev-feature/update-di-container@dev as dev-release/24.8@dev" --devFor premium you just need:
composer require yoast/wordpress-seo:"dev-feature/update-di-container@dev as dev-release/24.8@dev"Relevant test scenarios
Test instructions for QA when the code is in the RC
QA can test this PR by following these steps:
Impact check
This PR affects the following parts of the plugin, which may require extra testing:
UI changes
Other environments
[shopify-seo], added test instructions for Shopify and attached theShopifylabel to this PR.Documentation
Quality assurance
Innovation
innovationlabel.Fixes #